pub struct LocalState<'tcx, Prov: Provenance = AllocId> {
    pub value: LocalValue<Prov>,
    pub layout: Cell<Option<TyAndLayout<'tcx>>>,
}
Expand description

State of a local variable including a memoized layout

Fields§

§value: LocalValue<Prov>§layout: Cell<Option<TyAndLayout<'tcx>>>

Don’t modify if Some, this is only used to prevent computing the layout twice

Implementations§

Read the local’s value or error if the local is not yet live or not live anymore.

Overwrite the local. If the local can be overwritten in place, return a reference to do so; otherwise return the MemPlace to consult instead.

Note: This may only be invoked from the Machine::access_local_mut hook and not from anywhere else. You may be invalidating machine invariants if you do!

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.

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.