Enum rustc_const_eval::interpret::eval_context::LocalValue [−][src]
pub enum LocalValue<Tag: Provenance = AllocId> {
Dead,
Uninitialized,
Live(Operand<Tag>),
}
Expand description
Current value of a local variable
Variants
This local is not currently alive, and cannot be used at all.
This local is alive but not yet initialized. It can be written to but not read from or its address taken. Locals get initialized on first write because for unsized locals, we do not know their size before that.
Live(Operand<Tag>)
A normal, live local.
Mostly for convenience, we re-use the Operand
type here.
This is an optimization over just always having a pointer here;
we can thus avoid doing an allocation when the local just stores
immediate values and never has its address taken.
Tuple Fields of Live
0: Operand<Tag>
Trait Implementations
impl<'__ctx, Tag: Provenance> HashStable<StableHashingContext<'__ctx>> for LocalValue<Tag> where
Tag: HashStable<StableHashingContext<'__ctx>>,
impl<'__ctx, Tag: Provenance> HashStable<StableHashingContext<'__ctx>> for LocalValue<Tag> where
Tag: HashStable<StableHashingContext<'__ctx>>,
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl<Tag> RefUnwindSafe for LocalValue<Tag> where
Tag: RefUnwindSafe,
impl<Tag> Send for LocalValue<Tag> where
Tag: Send,
impl<Tag> Sync for LocalValue<Tag> where
Tag: Sync,
impl<Tag> Unpin for LocalValue<Tag> where
Tag: Unpin,
impl<Tag> UnwindSafe for LocalValue<Tag> where
Tag: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
Layout
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.