pub enum ConstVal {
Bytes(Bytes),
String(String),
FreeStoragePointer(FreeStoragePointer),
StoragePointer(Literal),
BuiltinFunctionCall(BuiltinFunctionCall),
Expression(Expression),
Noop,
}Expand description
A Constant Value
Variants§
Bytes(Bytes)
Bytes value for the constant
String(String)
String literal value for the constant
FreeStoragePointer(FreeStoragePointer)
A Free Storage Pointer
StoragePointer(Literal)
A Storage Pointer assigned by the compiler
BuiltinFunctionCall(BuiltinFunctionCall)
Built-in function call
Expression(Expression)
An arithmetic expression (evaluated at compile time)
Noop
__NOOP builtin constant (generates no bytecode)
Trait Implementations§
impl Eq for ConstVal
Source§impl Ord for ConstVal
impl Ord for ConstVal
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the minimum of two values. Read more
Source§impl PartialOrd for ConstVal
impl PartialOrd for ConstVal
impl StructuralPartialEq for ConstVal
Auto Trait Implementations§
impl Freeze for ConstVal
impl RefUnwindSafe for ConstVal
impl Send for ConstVal
impl Sync for ConstVal
impl Unpin for ConstVal
impl UnsafeUnpin for ConstVal
impl UnwindSafe for ConstVal
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,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
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 moreSource§impl<S, T> Upcast<T> for S
impl<S, T> Upcast<T> for S
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 88 bytes
Size for each variant:
Bytes: 88 bytesString: 32 bytesFreeStoragePointer: 0 bytesStoragePointer: 40 bytesBuiltinFunctionCall: 64 bytesExpression: 80 bytesNoop: 0 bytes