Skip to main content

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".

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.