pub struct Meta { /* private fields */ }Expand description
Stores fat pointer metadata in a type-erased way.
Used internally by MultiAny to safely downcast to concrete types or trait objects.
§Fields
meta_raw: Raw metadata pointer stored asusize.data_id:TypeIdof the original data type.meta_id:TypeIdof the metadata type.
§Safety
meta_rawmust have been created from aDynMetadata<T>or().data_idandmeta_idmust match the data and metadata types exactly.
Implementations§
Source§impl Meta
impl Meta
Sourcepub fn try_from<Data, RequestedType>(
data: &Data,
requested_type_id: TypeId,
cast_fn: fn(&Data) -> &RequestedType,
) -> Option<Meta>where
Data: 'static,
RequestedType: Pointee + ?Sized + 'static,
RequestedType::Metadata: TypedMetadata,
pub fn try_from<Data, RequestedType>(
data: &Data,
requested_type_id: TypeId,
cast_fn: fn(&Data) -> &RequestedType,
) -> Option<Meta>where
Data: 'static,
RequestedType: Pointee + ?Sized + 'static,
RequestedType::Metadata: TypedMetadata,
Attempts to construct Meta for a requested type.
§Parameters
data: Reference to the concrete data.requested_type_id: TypeId of the requested type.cast_fn: Function to cast&Datato&RequestedType.
§Returns
Some(Meta)ifrequested_type_idmatchesRequestedType.Noneotherwise.
§Type Parameters
Data: Concrete type stored in theMultiAny.RequestedType: Type to attempt downcasting to.
Sourcepub fn into_metadata<Data, RequestedType>(self) -> RequestedType::Metadatawhere
Data: 'static,
RequestedType: Pointee + ?Sized + 'static,
RequestedType::Metadata: TypedMetadata,
pub fn into_metadata<Data, RequestedType>(self) -> RequestedType::Metadatawhere
Data: 'static,
RequestedType: Pointee + ?Sized + 'static,
RequestedType::Metadata: TypedMetadata,
Auto Trait Implementations§
impl Freeze for Meta
impl RefUnwindSafe for Meta
impl Send for Meta
impl Sync for Meta
impl Unpin for Meta
impl UnwindSafe for Meta
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