Trait MaybeAvailable

Source
pub trait MaybeAvailable: Sealed {
    // Required methods
    unsafe fn do_maybe_ref<T>(data: &MaybeUninit<T>) -> Option<&T>;
    unsafe fn do_maybe_mut<T>(data: &mut MaybeUninit<T>) -> Option<&mut T>;
    unsafe fn do_set<T>(data: &mut MaybeUninit<T>, value: T);
    unsafe fn do_drop<T>(data: &mut MaybeUninit<T>);
    unsafe fn do_clone<T: Clone>(data: &MaybeUninit<T>) -> MaybeUninit<T>;
    unsafe fn do_debug<T: Debug>(
        data: &MaybeUninit<T>,
        f: &mut Formatter<'_>,
    ) -> Result;
}

Required Methods§

Source

unsafe fn do_maybe_ref<T>(data: &MaybeUninit<T>) -> Option<&T>

§Safety

Must called with correspond data reference.

Source

unsafe fn do_maybe_mut<T>(data: &mut MaybeUninit<T>) -> Option<&mut T>

§Safety

Must called with correspond data reference.

Source

unsafe fn do_set<T>(data: &mut MaybeUninit<T>, value: T)

§Safety

Must called with correspond data reference and update state type.

Source

unsafe fn do_drop<T>(data: &mut MaybeUninit<T>)

§Safety

Must called with correspond data reference and update state type.

Source

unsafe fn do_clone<T: Clone>(data: &MaybeUninit<T>) -> MaybeUninit<T>

§Safety

Must called with correspond data reference and update state type.

Source

unsafe fn do_debug<T: Debug>( data: &MaybeUninit<T>, f: &mut Formatter<'_>, ) -> Result

§Safety

Must called with correspond data reference.

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§