downcast

Trait Downcast

Source
pub trait Downcast<T>: Any
where T: Any,
{ // Provided methods fn is_type(&self) -> bool { ... } unsafe fn downcast_ref_unchecked(&self) -> &T { ... } fn downcast_ref(&self) -> Result<&T, TypeMismatch> { ... } unsafe fn downcast_mut_unchecked(&mut self) -> &mut T { ... } fn downcast_mut(&mut self) -> Result<&mut T, TypeMismatch> { ... } unsafe fn downcast_unchecked(self: Box<Self>) -> Box<T> { ... } fn downcast(self: Box<Self>) -> Result<Box<T>, DowncastError<Box<Self>>> { ... } }

Provided Methods§

Source

fn is_type(&self) -> bool

Source

unsafe fn downcast_ref_unchecked(&self) -> &T

Source

fn downcast_ref(&self) -> Result<&T, TypeMismatch>

Source

unsafe fn downcast_mut_unchecked(&mut self) -> &mut T

Source

fn downcast_mut(&mut self) -> Result<&mut T, TypeMismatch>

Source

unsafe fn downcast_unchecked(self: Box<Self>) -> Box<T>

Source

fn downcast(self: Box<Self>) -> Result<Box<T>, DowncastError<Box<Self>>>

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.

Implementors§

Source§

impl<_T> Downcast<_T> for dyn Any + Send + Sync
where _T: Any,

Source§

impl<_T> Downcast<_T> for dyn Any + Send
where _T: Any,

Source§

impl<_T> Downcast<_T> for dyn Any + Sync
where _T: Any,

Source§

impl<_T> Downcast<_T> for dyn Any
where _T: Any,