Slot

Trait Slot 

Source
pub unsafe trait Slot: Sized {
    type Item;

    // Required methods
    fn new(item: Self::Item) -> Self;
    unsafe fn assume_init(self) -> Self::Item;
    unsafe fn assume_init_read(&self) -> Self::Item;
}
Expand description

Slot for T that may be empty or occupied.

Must have the same layout as T.

Required Associated Types§

Required Methods§

Source

fn new(item: Self::Item) -> Self

Source

unsafe fn assume_init(self) -> Self::Item

Source

unsafe fn assume_init_read(&self) -> Self::Item

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.

Implementations on Foreign Types§

Source§

impl<T> Slot for MaybeUninit<T>

Source§

type Item = T

Source§

fn new(item: T) -> MaybeUninit<T>

Source§

unsafe fn assume_init(self) -> <MaybeUninit<T> as Slot>::Item

Source§

unsafe fn assume_init_read(&self) -> <MaybeUninit<T> as Slot>::Item

Implementors§