PtrInit

Trait PtrInit 

Source
pub trait PtrInit<T>: Deref<Target = T> + Sized {
    type Uninit: Deref<Target = MaybeUninit<T>>;

    // Required method
    fn init<E, I>(uninit: Pin<Self::Uninit>, init: I) -> Result<Pin<Self>, E>
       where I: Init<T, E>;
}
Expand description

Pointer types that can be pin-initialized.

Required Associated Types§

Source

type Uninit: Deref<Target = MaybeUninit<T>>

Required Methods§

Source

fn init<E, I>(uninit: Pin<Self::Uninit>, init: I) -> Result<Pin<Self>, E>
where I: Init<T, E>,

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> PtrInit<T> for Box<T>

Available on crate feature alloc only.
Source§

type Uninit = Box<MaybeUninit<T>>

Source§

fn init<E, I>( uninit: Pin<Box<MaybeUninit<T>>>, init: I, ) -> Result<Pin<Box<T>>, E>
where I: Init<T, E>,

Implementors§

Source§

impl<T> PtrInit<T> for UniqueArc<T>

Available on crate feature alloc only.

Pin-initialize a UniqueArc.

Source§

impl<T> PtrInit<T> for UniqueRc<T>

Available on crate feature alloc only.