[−][src]Enum rustc_mir::interpret::eval_context::LocalValue
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.
Trait Implementations
impl<Tag: Clone> Clone for LocalValue<Tag>[src]
pub fn clone(&self) -> LocalValue<Tag>[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl<Tag: Copy> Copy for LocalValue<Tag>[src]
impl<Tag: Debug> Debug for LocalValue<Tag>[src]
impl<Tag: Eq> Eq for LocalValue<Tag>[src]
impl<'__ctx, Tag> HashStable<StableHashingContext<'__ctx>> for LocalValue<Tag> where
Tag: HashStable<StableHashingContext<'__ctx>>, [src]
Tag: HashStable<StableHashingContext<'__ctx>>,
pub fn hash_stable(
&self,
__hcx: &mut StableHashingContext<'__ctx>,
__hasher: &mut StableHasher
)[src]
&self,
__hcx: &mut StableHashingContext<'__ctx>,
__hasher: &mut StableHasher
)
impl<Tag: PartialEq> PartialEq<LocalValue<Tag>> for LocalValue<Tag>[src]
pub fn eq(&self, other: &LocalValue<Tag>) -> bool[src]
pub fn ne(&self, other: &LocalValue<Tag>) -> bool[src]
impl<Tag> StructuralEq for LocalValue<Tag>[src]
impl<Tag> StructuralPartialEq for LocalValue<Tag>[src]
Auto Trait Implementations
impl<Tag> RefUnwindSafe for LocalValue<Tag> where
Tag: RefUnwindSafe,
Tag: RefUnwindSafe,
impl<Tag> Send for LocalValue<Tag> where
Tag: Send,
Tag: Send,
impl<Tag> Sync for LocalValue<Tag> where
Tag: Sync,
Tag: Sync,
impl<Tag> Unpin for LocalValue<Tag> where
Tag: Unpin,
Tag: Unpin,
impl<Tag> UnwindSafe for LocalValue<Tag> where
Tag: UnwindSafe,
Tag: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.