[][src]Struct mun_runtime::gc::UnsafeTypeInfo

#[repr(transparent)]pub struct UnsafeTypeInfo(_);

UnsafeTypeInfo is a type that wraps a NonNull<TypeInfo> and indicates unsafe interior operations on the wrapped TypeInfo. The unsafety originates from uncertainty about the lifetime of the wrapped TypeInfo.

Rust lifetime rules do not allow separate lifetimes for struct fields, but we can make unsafe guarantees about their lifetimes. Thus the UnsafeTypeInfo type is the only legal way to obtain shared references to the wrapped TypeInfo.

Implementations

impl UnsafeTypeInfo[src]

pub fn new(type_info: NonNull<TypeInfo>) -> UnsafeTypeInfo[src]

Constructs a new instance of UnsafeTypeInfo, which will wrap the specified type_info pointer.

All access to the inner value through methods is unsafe.

pub fn into_inner(self) -> NonNull<TypeInfo>[src]

Unwraps the value.

Trait Implementations

impl Clone for UnsafeTypeInfo[src]

impl Copy for UnsafeTypeInfo[src]

impl Debug for UnsafeTypeInfo[src]

impl Eq for UnsafeTypeInfo[src]

impl Hash for UnsafeTypeInfo[src]

impl PartialEq<UnsafeTypeInfo> for UnsafeTypeInfo[src]

impl Send for UnsafeTypeInfo[src]

impl Sync for UnsafeTypeInfo[src]

impl TypeDesc for UnsafeTypeInfo[src]

impl TypeFields<UnsafeTypeInfo> for UnsafeTypeInfo[src]

impl TypeMemory for UnsafeTypeInfo[src]

impl TypeTrace for UnsafeTypeInfo[src]

type Trace = Trace

Auto Trait Implementations

Blanket Implementations

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

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

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

impl<T> From<T> for T[src]

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

impl<T> Marshal<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> 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<V, T> VZip<V> for T where
    V: MultiLane<T>,