[][src]Union std::mem::MaybeUninit

pub union MaybeUninit<T> {
    // some fields omitted
}
🔬 This is a nightly-only experimental API. (maybe_uninit #53491)

A newtype to construct uninitialized instances of T

Methods

impl<T> MaybeUninit<T>
[src]

🔬 This is a nightly-only experimental API. (maybe_uninit #53491)

Create a new MaybeUninit in an uninitialized state.

Note that dropping a MaybeUninit will never call T's drop code. It is your responsibility to make sure T gets dropped if it got initialized.

🔬 This is a nightly-only experimental API. (maybe_uninit #53491)

Create a new MaybeUninit in an uninitialized state, with the memory being filled with 0 bytes. It depends on T whether that already makes for proper initialization. For example, MaybeUninit<usize>::zeroed() is initialized, but MaybeUninit<&'static i32>::zeroed() is not because references must not be null.

Note that dropping a MaybeUninit will never call T's drop code. It is your responsibility to make sure T gets dropped if it got initialized.

🔬 This is a nightly-only experimental API. (maybe_uninit #53491)

Set the value of the MaybeUninit. This overwrites any previous value without dropping it.

🔬 This is a nightly-only experimental API. (maybe_uninit #53491)

Extract the value from the MaybeUninit container. This is a great way to ensure that the data will get dropped, because the resulting T is subject to the usual drop handling.

Unsafety

It is up to the caller to guarantee that the the MaybeUninit really is in an initialized state, otherwise this will immediately cause undefined behavior.

Important traits for &'a mut I

🔬 This is a nightly-only experimental API. (maybe_uninit #53491)

Get a reference to the contained value.

Unsafety

It is up to the caller to guarantee that the the MaybeUninit really is in an initialized state, otherwise this will immediately cause undefined behavior.

Important traits for &'a mut I

🔬 This is a nightly-only experimental API. (maybe_uninit #53491)

Get a mutable reference to the contained value.

Unsafety

It is up to the caller to guarantee that the the MaybeUninit really is in an initialized state, otherwise this will immediately cause undefined behavior.

🔬 This is a nightly-only experimental API. (maybe_uninit #53491)

Get a pointer to the contained value. Reading from this pointer will be undefined behavior unless the MaybeUninit is initialized.

🔬 This is a nightly-only experimental API. (maybe_uninit #53491)

Get a mutable pointer to the contained value. Reading from this pointer will be undefined behavior unless the MaybeUninit is initialized.

Auto Trait Implementations

impl<T> Send for MaybeUninit<T> where
    T: Send

impl<T> Sync for MaybeUninit<T> where
    T: Sync

Blanket Implementations

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

🔬 This is a nightly-only experimental API. (try_from #33417)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from #33417)

Performs the conversion.

impl<T> From for T
[src]

Performs the conversion.

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

🔬 This is a nightly-only experimental API. (try_from #33417)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from #33417)

Performs the conversion.

impl<T, U> Into for T where
    U: From<T>, 
[src]

Performs the conversion.

impl<T> Borrow for T where
    T: ?Sized
[src]

Important traits for &'a mut I

Immutably borrows from an owned value. Read more

impl<T> BorrowMut for T where
    T: ?Sized
[src]

Important traits for &'a mut I

Mutably borrows from an owned value. Read more

impl<T> Any for T where
    T: 'static + ?Sized
[src]

🔬 This is a nightly-only experimental API. (get_type_id #27745)

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more