Union executorch_sys::torch::executor::optional_storage_t
source · #[repr(C)]
pub union optional_storage_t<T> {
pub dummy_: ManuallyDrop<c_uchar>,
pub value_: ManuallyDrop<T>,
pub _phantom_0: PhantomData<UnsafeCell<T>>,
}Expand description
A wrapper type that lets us avoid constructing a T when there is no value. If there is a value present, the optional class must destroy it.
Fields§
§dummy_: ManuallyDrop<c_uchar>A small, trivially-constructable alternative to T.
value_: ManuallyDrop<T>The constructed value itself, if optional::has_value_ is true.
_phantom_0: PhantomData<UnsafeCell<T>>Auto Trait Implementations§
impl<T> Freeze for optional_storage_t<T>where
T: Freeze,
impl<T> !RefUnwindSafe for optional_storage_t<T>
impl<T> Send for optional_storage_t<T>where
T: Send,
impl<T> !Sync for optional_storage_t<T>
impl<T> Unpin for optional_storage_t<T>where
T: Unpin,
impl<T> UnwindSafe for optional_storage_t<T>where
T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more