मेरे पास Vec<Box<T>>
है जहां T
Foo
लागू करता है। मैं इसे Vec<Box<Foo>>
पर क्यों नहीं जोड़ सकता, भले ही मैं Box<T>
को Box<Foo>
में किसी भी प्रकार का सहारा दे सकता हूं? नीचे कोड संकलित क्यों नहीं करता है?जंग जंगलों को कंटेनरों के अंदर वस्तुओं का पता लगाने की अनुमति क्यों नहीं देती?
use std::vec;
trait Foo {}
struct Bar {}
impl Foo for Bar {}
fn main() {
let v = vec![Box::new(Bar {})];
let v_1 = v as Vec<Box<Foo>>;
}
आपकी रुचियों के लिए प्रासंगिक: एक [कास्ट पर हालिया प्रश्न] (http://stackoverflow.com/questions/41869048/is-there-a-trait-for-scalar-castable-types)। – ljedrz