pub trait AsBoxAny: Any { // Required method fn as_box_any(self: Box<Self>) -> Box<dyn Any>; }
std
alloc
Allows upcasting from a Box<T> -> Box<dyn Any>.
Box<T>
Box
Box<dyn Any>
Any
Note: This requires either the std or alloc feature to be enabled.
use azalia::rust::AsBoxAny; use std::any::Any; pub trait A: AsBoxAny {} pub struct B; impl A for B {} let b: Box<dyn A> = Box::new(B); let _: Box<dyn Any> = b.as_box_any();
Upcasts Box<Self> -> Box<dyn Any> easily.
Box<Self>