是否可以向下转换Rc <refcell <mytrait>&gt;通用Rc <refcell <mystruct <t>&gt;&gt;?

时间:2018-06-11 21:28:07

标签: rust

我已经定义了这些:

struct MyStruct<T> { /* ... */ }

trait MyTrait: Any { /* ... */ }

impl<T> MyTrait for MyStruct<T> { /* ... */ }

是否可以将Rc<RefCell<MyTrait>>转发给Rc<RefCell<MyStruct<T>>>(在T上的函数泛型的上下文中)?

fn some_fn<T>(h: &HashMap<String, Rc<RefCell<MyTrait>>>, key: &str) -> Rc<RefCell<MyStruct<T>>> {
    let x: Rc<RefCell<MyTrait>> = h.get(key).unwrap().clone();
    /* what goes here ??? */ (x)
}

0 个答案:

没有答案