#[repr(u8)]pub enum ArraySize {
Constant(NonZeroU32),
Pending(Handle<Override>),
Dynamic,
}Expand description
Size of an array.
Variants§
Constant(NonZeroU32)
The array size is constant.
Pending(Handle<Override>)
The array size is an override-expression.
Dynamic
The array size can change at runtime.
Implementations§
Source§impl ArraySize
impl ArraySize
pub const fn to_indexable_length( self, _module: &Module, ) -> Result<IndexableLength, IndexableLengthError>
Source§impl ArraySize
impl ArraySize
Sourcepub fn resolve(
&self,
gctx: GlobalCtx<'_>,
) -> Result<IndexableLength, ResolveArraySizeError>
pub fn resolve( &self, gctx: GlobalCtx<'_>, ) -> Result<IndexableLength, ResolveArraySizeError>
Return the number of elements that size represents, if known at code generation time.
If size is override-based, return an error unless the override’s
initializer is a fully evaluated constant expression. You can call
pipeline_constants::process_overrides to supply values for a
module’s overrides and ensure their initializers are fully evaluated, as
this function expects.
Trait Implementations§
Source§impl Ord for ArraySize
impl Ord for ArraySize
Source§impl PartialOrd for ArraySize
impl PartialOrd for ArraySize
impl Copy for ArraySize
impl Eq for ArraySize
impl StructuralPartialEq for ArraySize
Auto Trait Implementations§
impl Freeze for ArraySize
impl RefUnwindSafe for ArraySize
impl Send for ArraySize
impl Sync for ArraySize
impl Unpin for ArraySize
impl UnwindSafe for ArraySize
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§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.