pub trait Downcast: AsAny {
// Provided methods
fn is<T>(&self) -> bool
where T: AsAny { ... }
fn downcast_ref<T>(&self) -> Option<&T>
where T: AsAny { ... }
fn downcast_mut<T>(&mut self) -> Option<&mut T>
where T: AsAny { ... }
}
Expand description
This is a shim around AaAny
to avoid some boilerplate code.
It is a separate trait because it is also implemented
on runtime polymorphic traits (which are !Sized
).
Provided Methods§
Sourcefn is<T>(&self) -> boolwhere
T: AsAny,
fn is<T>(&self) -> boolwhere
T: AsAny,
Returns true
if the boxed type is the same as T
.
Forward to the method defined on the type Any
.
Sourcefn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type Any
.
Sourcefn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type Any
.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.