[−][src]Union core::mem::MaybeUninit
A newtype to construct uninitialized instances of T
Methods
impl<T> MaybeUninit<T>[src]
pub const fn new(val: T) -> MaybeUninit<T>[src]
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.
pub const fn uninitialized() -> MaybeUninit<T>[src]
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.
pub fn zeroed() -> MaybeUninit<T>[src]
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.
pub fn set(&mut self, val: T)[src]
Set the value of the MaybeUninit. This overwrites any previous value without dropping it.
pub unsafe fn into_inner(self) -> T[src]
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 MaybeUninit really is in an initialized
state, otherwise this will immediately cause undefined behavior.
pub unsafe fn get_ref(&self) -> &T[src]
Get a reference to the contained value.
Unsafety
It is up to the caller to guarantee that the MaybeUninit really is in an initialized
state, otherwise this will immediately cause undefined behavior.
pub unsafe fn get_mut(&mut self) -> &mut T[src]
Get a mutable reference to the contained value.
Unsafety
It is up to the caller to guarantee that the MaybeUninit really is in an initialized
state, otherwise this will immediately cause undefined behavior.
pub fn as_ptr(&self) -> *const T[src]
Get a pointer to the contained value. Reading from this pointer will be undefined
behavior unless the MaybeUninit is initialized.
pub fn as_mut_ptr(&mut self) -> *mut T[src]
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,
T: Send,
impl<T> Sync for MaybeUninit<T> where
T: Sync,
T: Sync,
Blanket Implementations
impl<T, U> Into for T where
U: From<T>, [src]
U: From<T>,
impl<T> From for T[src]
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(Self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T, U> TryFrom for T where
T: From<U>, [src]
T: From<U>,
type Error = !
The type returned in the event of a conversion error.
fn try_from(U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T> Borrow for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut Self) -> &mut T[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,