Struct zerovec::ule::niche::NichedOption
source · #[non_exhaustive]#[repr(transparent)]pub struct NichedOption<U, const N: usize>(pub Option<U>);
Expand description
Optional type which uses NichedOptionULE<U,N>
as ULE type.
The implementors guarantee that N == core::mem::sizeo_of::<Self>()
[repr(transparent)
] guarantees that the layout is same as Option<U>
Tuple Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.0: Option<U>
Implementations§
Trait Implementations§
source§impl<U: AsULE, const N: usize> AsULE for NichedOption<U, N>where
U::ULE: NicheBytes<N>,
impl<U: AsULE, const N: usize> AsULE for NichedOption<U, N>where
U::ULE: NicheBytes<N>,
source§impl<U: Clone, const N: usize> Clone for NichedOption<U, N>
impl<U: Clone, const N: usize> Clone for NichedOption<U, N>
source§fn clone(&self) -> NichedOption<U, N>
fn clone(&self) -> NichedOption<U, N>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<U, const N: usize> Default for NichedOption<U, N>
impl<U, const N: usize> Default for NichedOption<U, N>
impl<U: Copy, const N: usize> Copy for NichedOption<U, N>
impl<U: Eq, const N: usize> Eq for NichedOption<U, N>
impl<U, const N: usize> StructuralPartialEq for NichedOption<U, N>
Auto Trait Implementations§
impl<U, const N: usize> Freeze for NichedOption<U, N>where
U: Freeze,
impl<U, const N: usize> RefUnwindSafe for NichedOption<U, N>where
U: RefUnwindSafe,
impl<U, const N: usize> Send for NichedOption<U, N>where
U: Send,
impl<U, const N: usize> Sync for NichedOption<U, N>where
U: Sync,
impl<U, const N: usize> Unpin for NichedOption<U, N>where
U: Unpin,
impl<U, const N: usize> UnwindSafe for NichedOption<U, N>where
U: 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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)