OA
Size: a a a
OA
AK
fn as_any(&self) -> &dyn Any { self } попробуй в свой трейт добавить и его заюзать.OA
OA
OA
OA
OA
OA
AK
&dyn Trait у тебя всегда "смарт-референс", даOA
Э
trait MyTrait: Any + Debug {
fn foo(&self) -> String {
"MyTrait::foo()".to_string()
}
}
impl MyTrait for String {}
fn main() {
let x: Box<dyn MyTrait> = Box::new("Hi".to_string());
println!("&x: {:?}", &x);
println!("&x.foo(): {:?}", &x.foo());
println!("&x as Any->String: {:?}", (&x as &dyn Any).downcast_ref::<String>());
}let x: Box<dyn (Mytrait + Any)> пробовал?AK
let x: Box<dyn (Mytrait + Any)> пробовал?Э
Cʕ