Enum rustc::mir::interpret::Value
[−]
[src]
pub enum Value { ByRef(PtrAndAlign), ByVal(PrimVal), ByValPair(PrimVal, PrimVal), }
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
A Value
represents a single self-contained Rust value.
A Value
can either refer to a block of memory inside an allocation (ByRef
) or to a primitve
value held directly, outside of any allocation (ByVal
). For ByRef
-values, we remember
whether the pointer is supposed to be aligned or not (also see Place).
For optimization of a few very common cases, there is also a representation for a pair of
primitive values (ByValPair
). It allows Miri to avoid making allocations for checked binary
operations and fat pointers. This idea was taken from rustc's trans.
Variants
ByRef(PtrAndAlign)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
ByVal(PrimVal)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
ByValPair(PrimVal, PrimVal)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Methods
impl<'a, 'tcx: 'a> Value
[src]
pub fn by_ref(ptr: Pointer) -> Self
[src]
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Trait Implementations
impl Clone for Value
[src]
fn clone(&self) -> Value
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more