pub enum ComptimeOptionExpand<T: CubeType> {
None,
Some(<T as CubeType>::ExpandType),
}Variants§
None
Some(<T as CubeType>::ExpandType)
Implementations§
Source§impl<T: CubeType> ComptimeOptionExpand<T>
impl<T: CubeType> ComptimeOptionExpand<T>
pub fn __expand_is_none_method(self, scope: &Scope) -> bool
pub fn __expand_unwrap_or_method( self, _scope: &Scope, default: <T as CubeType>::ExpandType, ) -> <T as CubeType>::ExpandType
pub fn __expand_unwrap_or_default_method(
self,
scope: &Scope,
) -> <T as CubeType>::ExpandTypewhere
T: Default + IntoRuntime,
pub fn __expand_unwrap_unchecked_method( self, _scope: &Scope, ) -> <T as CubeType>::ExpandType
pub fn __expand_and_method<U>(
self,
scope: &Scope,
optb: <ComptimeOption<U> as CubeType>::ExpandType,
) -> <ComptimeOption<U> as CubeType>::ExpandTypewhere
U: CubeType,
pub fn __expand_or_method( self, _scope: &Scope, optb: <ComptimeOption<T> as CubeType>::ExpandType, ) -> <ComptimeOption<T> as CubeType>::ExpandType
pub fn __expand_xor_method( self, scope: &Scope, optb: <ComptimeOption<T> as CubeType>::ExpandType, ) -> <ComptimeOption<T> as CubeType>::ExpandType
pub fn __expand_zip_method<U>(
self,
scope: &Scope,
other: <ComptimeOption<U> as CubeType>::ExpandType,
) -> <ComptimeOption<(T, U)> as CubeType>::ExpandTypewhere
U: CubeType,
Source§impl<T: CubeType, U: CubeType> ComptimeOptionExpand<(T, U)>
impl<T: CubeType, U: CubeType> ComptimeOptionExpand<(T, U)>
pub fn __expand_unzip_method( self, scope: &Scope, ) -> <(ComptimeOption<T>, ComptimeOption<U>) as CubeType>::ExpandType
Source§impl<T: CubeType> ComptimeOptionExpand<T>
impl<T: CubeType> ComptimeOptionExpand<T>
pub fn is_some(&self) -> bool
pub fn unwrap(self) -> T::ExpandType
pub fn is_none(&self) -> bool
pub fn unwrap_or(self, fallback: T::ExpandType) -> T::ExpandType
Trait Implementations§
Source§impl<T: CubeType> AsMutExpand for ComptimeOptionExpand<T>
impl<T: CubeType> AsMutExpand for ComptimeOptionExpand<T>
fn __expand_ref_mut_method(&mut self, _: &Scope) -> &mut Self
fn __expand_as_mut_method(&mut self, scope: &Scope) -> &mut T
Source§impl<T: CubeType> AsRefExpand for ComptimeOptionExpand<T>
impl<T: CubeType> AsRefExpand for ComptimeOptionExpand<T>
fn __expand_ref_method(&self, _: &Scope) -> &Self
fn __expand_as_ref_method(&self, scope: &Scope) -> &T
impl<T: CubeType<ExpandType: Copy>> Copy for ComptimeOptionExpand<T>
Source§impl<T: CubeType> CubeDebug for ComptimeOptionExpand<T>
impl<T: CubeType> CubeDebug for ComptimeOptionExpand<T>
Source§fn set_debug_name(&self, scope: &Scope, name: &'static str)
fn set_debug_name(&self, scope: &Scope, name: &'static str)
Set the debug name of this type’s expansion. Should do nothing for types that don’t appear
at runtime
Source§impl<T: CubeType> CubeEnum for ComptimeOptionExpand<T>
impl<T: CubeType> CubeEnum for ComptimeOptionExpand<T>
type RuntimeValue = ()
fn discriminant(&self) -> NativeExpand<i32>
Source§fn runtime_value(self) -> Self::RuntimeValue
fn runtime_value(self) -> Self::RuntimeValue
Return the runtime value of this enum, if only one variant has a value.
Should return () for all other cases.
fn discriminant_of(variant_name: &'static str) -> i32
fn discriminant_of_value(&self, variant_name: &'static str) -> i32
Source§impl<T: CubeType> Default for ComptimeOptionExpand<T>
impl<T: CubeType> Default for ComptimeOptionExpand<T>
Source§impl<T: CubeType> ExpandTypeClone for ComptimeOptionExpand<T>
impl<T: CubeType> ExpandTypeClone for ComptimeOptionExpand<T>
Source§fn clone_unchecked(&self) -> Self
fn clone_unchecked(&self) -> Self
Unchecked clone that only clones the conceptual runtime value. Should only be used in cases
where each copy is used in a mutually exclusive branch (i.e. match, runtime enums). This is
intentionally separated from Rust’s
Clone semantics and should only be used for the
conceptual expand values, never real data. Using two values in the same branch is undefined
behaviour.Source§impl<T: CubeType> IntoExpand for ComptimeOptionExpand<T>
impl<T: CubeType> IntoExpand for ComptimeOptionExpand<T>
type Expand = ComptimeOptionExpand<T>
fn into_expand(self, _: &Scope) -> Self
Auto Trait Implementations§
impl<T> Freeze for ComptimeOptionExpand<T>
impl<T> RefUnwindSafe for ComptimeOptionExpand<T>
impl<T> Send for ComptimeOptionExpand<T>
impl<T> Sync for ComptimeOptionExpand<T>
impl<T> Unpin for ComptimeOptionExpand<T>
impl<T> UnsafeUnpin for ComptimeOptionExpand<T>
impl<T> UnwindSafe for ComptimeOptionExpand<T>
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneExpand for Twhere
T: Clone,
impl<T> CloneExpand for Twhere
T: Clone,
fn __expand_clone_method(&self, _: &Scope) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more