Struct pinned_init::StackInit

source ·
pub struct StackInit<T>(_, _);
Expand description

Stack initializer helper type. Use stack_pin_init instead of this primitive.

Invariants

If self.1 is true, then self.0 is initialized.

Implementations§

source§

impl<T> StackInit<T>

source

pub fn uninit() -> Self

Creates a new StackInit<T> that is uninitialized. Use stack_pin_init instead of this primitive.

source

pub unsafe fn init<E>( &mut self, init: impl PinInit<T, E> ) -> Result<Pin<&mut T>, E>

Initializes the contents and returns the result.

Safety

The caller ensures that self is on the stack and not accessible in any other way, if this function returns Ok.

Trait Implementations§

source§

impl<T> Drop for StackInit<T>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for StackInit<T>where T: RefUnwindSafe,

§

impl<T> Send for StackInit<T>where T: Send,

§

impl<T> Sync for StackInit<T>where T: Sync,

§

impl<T> Unpin for StackInit<T>where T: Unpin,

§

impl<T> UnwindSafe for StackInit<T>where T: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.