pub trait InPlaceInit<T>: Sized {
    // Required methods
    fn try_pin_init<E>(init: impl PinInit<T, E>) -> Result<Pin<Self>, E>
       where E: From<AllocError>;
    fn try_init<E>(init: impl Init<T, E>) -> Result<Self, E>
       where E: From<AllocError>;
    // Provided methods
    fn pin_init(init: impl PinInit<T>) -> Result<Pin<Self>, AllocError> { ... }
    fn init(init: impl Init<T>) -> Result<Self, AllocError> { ... }
}Expand description
Smart pointer that can initialize memory in-place.
Required Methods§
Sourcefn try_pin_init<E>(init: impl PinInit<T, E>) -> Result<Pin<Self>, E>where
    E: From<AllocError>,
 
fn try_pin_init<E>(init: impl PinInit<T, E>) -> Result<Pin<Self>, E>where
    E: From<AllocError>,
Use the given pin-initializer to pin-initialize a T inside of a new smart pointer of this
type.
If T: !Unpin it will not be able to move afterwards.
Provided Methods§
Sourcefn pin_init(init: impl PinInit<T>) -> Result<Pin<Self>, AllocError>
 
fn pin_init(init: impl PinInit<T>) -> Result<Pin<Self>, AllocError>
Use the given pin-initializer to pin-initialize a T inside of a new smart pointer of this
type.
If T: !Unpin it will not be able to move afterwards.
Sourcefn init(init: impl Init<T>) -> Result<Self, AllocError>
 
fn init(init: impl Init<T>) -> Result<Self, AllocError>
Use the given initializer to in-place initialize a T.
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.