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§
Sourceunsafe fn do_maybe_ref<T>(data: &MaybeUninit<T>) -> Option<&T>
unsafe fn do_maybe_ref<T>(data: &MaybeUninit<T>) -> Option<&T>
§Safety
Must called with correspond data reference.
Sourceunsafe fn do_maybe_mut<T>(data: &mut MaybeUninit<T>) -> Option<&mut T>
unsafe fn do_maybe_mut<T>(data: &mut MaybeUninit<T>) -> Option<&mut T>
§Safety
Must called with correspond data reference.
Sourceunsafe fn do_set<T>(data: &mut MaybeUninit<T>, value: T)
unsafe fn do_set<T>(data: &mut MaybeUninit<T>, value: T)
§Safety
Must called with correspond data reference and update state type.
Sourceunsafe fn do_drop<T>(data: &mut MaybeUninit<T>)
unsafe fn do_drop<T>(data: &mut MaybeUninit<T>)
§Safety
Must called with correspond data reference and update state type.
Sourceunsafe fn do_clone<T: Clone>(data: &MaybeUninit<T>) -> MaybeUninit<T>
unsafe fn do_clone<T: Clone>(data: &MaybeUninit<T>) -> MaybeUninit<T>
§Safety
Must called with correspond data reference and update state type.
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.