[][src]Struct swim_core::reify::Reified

#[repr(C)]
pub struct Reified<T: ?Sized> { /* fields omitted */ }

The vtable of a type with a Reified field as its first struct member, from which a trait object can be constructed from a thin pointer to the base address of the object.

Safety

Can only reify a type that has a Reified field as its first struct member.

Methods

impl<T: ?Sized> Reified<T>[src]

pub const unsafe fn uninitialized() -> Reified<T>[src]

Returns a new Reified structure with an uninitialized vtable.

pub unsafe fn deify(object: TraitObject)[src]

Initializes the vtable of the Reified structure, which resides at the base address of the referenced object, to point to the vtable of the passed-in trait object.

Safety

Assumes that the concrete object type has a Reified field as its first struct member.

pub unsafe fn reify(&self) -> TraitObject[src]

Returns a trait object for the concrete type of the object whose base address equals the address of the passed-in Reified reference.

Safety

Assumes that the address of the passed-in Reified reference equals the address of an object, and that the concrete object type's vtable pointer equals the vtable pointer contained in the Reified structure.

Auto Trait Implementations

impl<T> !Send for Reified<T>

impl<T> !Sync for Reified<T>

Blanket Implementations

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]