fn a(_: u32) {};
let w: Box<dyn Any> = Box::new(a);
println!("{:?}", w.downcast_ref::<fn(u32)>()); // none
fn a(_: u32) {}; let w: Box<dyn Any> = Box::new(a as fn(u32)); println!("{:?}", w.downcast_ref::<fn(u32)>());
странно, я думал он сам в этот тип засунет
ну видимо он суёт лямбду анонимного типа как обычно. А в функциональный указатель нужно попросить явно скастовать.
Обсуждают сегодня