[−][src]Union std::mem::MaybeUninit
A newtype to construct uninitialized instances of T
Methods
impl<T> MaybeUninit<T>[src]
impl<T> MaybeUninit<T>pub const fn new(val: T) -> MaybeUninit<T>[src]
pub const fn new(val: T) -> MaybeUninit<T>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]
pub const fn uninitialized() -> MaybeUninit<T>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]
pub fn zeroed() -> MaybeUninit<T>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]
pub fn set(&mut self, val: T)Set the value of the MaybeUninit. This overwrites any previous value without dropping it.
pub unsafe fn into_inner(self) -> T[src]
pub unsafe fn into_inner(self) -> TExtract 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 &'_ mut Ipub unsafe fn get_ref(&self) -> &T[src]
pub unsafe fn get_ref(&self) -> &TGet 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 &'_ mut Ipub unsafe fn get_mut(&mut self) -> &mut T[src]
pub unsafe fn get_mut(&mut self) -> &mut TGet 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.
pub fn as_ptr(&self) -> *const T[src]
pub fn as_ptr(&self) -> *const TGet 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]
pub fn as_mut_ptr(&mut self) -> *mut TGet 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> Send for MaybeUninit<T> where
T: Send, impl<T> Sync for MaybeUninit<T> where
T: Sync,
impl<T> Sync for MaybeUninit<T> where
T: Sync, Blanket Implementations
impl<T> From for T[src]
impl<T> From for Timpl<T, U> TryFrom for T where
T: From<U>, [src]
impl<T, U> TryFrom for T where
T: From<U>, type Error = !
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>Performs the conversion.
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
impl<T, U> TryInto for T where
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]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>Performs the conversion.
impl<T, U> Into for T where
U: From<T>, [src]
impl<T, U> Into for T where
U: From<T>, impl<T> Borrow for T where
T: ?Sized, [src]
impl<T> Borrow for T where
T: ?Sized, ⓘImportant traits for &'_ mut Ifn borrow(&self) -> &T[src]
fn borrow(&self) -> &TImmutably borrows from an owned value. Read more
impl<T> BorrowMut for T where
T: ?Sized, [src]
impl<T> BorrowMut for T where
T: ?Sized, ⓘImportant traits for &'_ mut Ifn borrow_mut(&mut self) -> &mut T[src]
fn borrow_mut(&mut self) -> &mut TMutably borrows from an owned value. Read more
impl<T> Any for T where
T: 'static + ?Sized, [src]
impl<T> Any for T where
T: 'static + ?Sized, fn get_type_id(&self) -> TypeId[src]
fn get_type_id(&self) -> TypeId🔬 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