pub struct ImplEntry<DynTrait: ?Sized> {
pub cast_box: fn(Box<dyn Any>) -> Result<Box<DynTrait>, Box<dyn Any>>,
pub cast_mut: fn(&mut dyn Any) -> Option<&mut DynTrait>,
pub cast_ref: fn(&dyn Any) -> Option<&DynTrait>,
pub tid: TypeId,
pub from_name: &'static str,
pub into_name: &'static str,
}
Expand description
An entry in the table for a particular castable trait. Stores methods to cast into one particular struct that implements the trait.
Fields§
§cast_box: fn(Box<dyn Any>) -> Result<Box<DynTrait>, Box<dyn Any>>
§cast_mut: fn(&mut dyn Any) -> Option<&mut DynTrait>
§cast_ref: fn(&dyn Any) -> Option<&DynTrait>
§tid: TypeId
§from_name: &'static str
§into_name: &'static str
Trait Implementations§
Source§impl<DynTrait: ?Sized> FromIterator<ImplEntry<DynTrait>> for CastIntoTrait<DynTrait>
impl<DynTrait: ?Sized> FromIterator<ImplEntry<DynTrait>> for CastIntoTrait<DynTrait>
Auto Trait Implementations§
impl<DynTrait> Freeze for ImplEntry<DynTrait>where
DynTrait: ?Sized,
impl<DynTrait> RefUnwindSafe for ImplEntry<DynTrait>where
DynTrait: ?Sized,
impl<DynTrait> Send for ImplEntry<DynTrait>where
DynTrait: ?Sized,
impl<DynTrait> Sync for ImplEntry<DynTrait>where
DynTrait: ?Sized,
impl<DynTrait> Unpin for ImplEntry<DynTrait>where
DynTrait: ?Sized,
impl<DynTrait> UnwindSafe for ImplEntry<DynTrait>where
DynTrait: ?Sized,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> TraitcastFrom for Twhere
T: 'static,
impl<T> TraitcastFrom for Twhere
T: 'static,
Source§fn as_any_ref(&self) -> &(dyn Any + 'static)
fn as_any_ref(&self) -> &(dyn Any + 'static)
Cast to an immutable reference to a trait object.
Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Cast to a mutable reference to a trait object.