pub union MaybeUninit<T> {
// some fields omitted
}
🔬 This is a nightly-only experimental API. (maybe_uninit
)
A newtype to construct uninitialized instances of T
🔬 This is a nightly-only experimental API. (maybe_uninit
)
Create a new MaybeUninit
initialized with the given value.
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
)
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
)
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
)
Set the value of the MaybeUninit
. This overwrites any previous value without dropping it.
🔬 This is a nightly-only experimental API. (maybe_uninit
)
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.
It is up to the caller to guarantee that the MaybeUninit
really is in an initialized
state, otherwise this will immediately cause undefined behavior.
🔬 This is a nightly-only experimental API. (maybe_uninit
)
Get a reference to the contained value.
It is up to the caller to guarantee that the MaybeUninit
really is in an initialized
state, otherwise this will immediately cause undefined behavior.
🔬 This is a nightly-only experimental API. (maybe_uninit
)
Get a mutable reference to the contained value.
It is up to the caller to guarantee that the MaybeUninit
really is in an initialized
state, otherwise this will immediately cause undefined behavior.
🔬 This is a nightly-only experimental API. (maybe_uninit
)
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
)
Get a mutable pointer to the contained value. Reading from this pointer will be undefined
behavior unless the MaybeUninit
is initialized.
type Error = !
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
type Error = <U as TryFrom<T>>::Error
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Mutably borrows from an owned value. Read more