Struct rustc_mir::interpret::eval_context::Frame[][src]

pub struct Frame<'mir, 'tcx: 'mir> {
    pub mir: &'mir Mir<'tcx>,
    pub instance: Instance<'tcx>,
    pub span: Span,
    pub return_to_block: StackPopCleanup,
    pub return_place: Place,
    pub locals: IndexVec<Local, Option<Value>>,
    pub block: BasicBlock,
    pub stmt: usize,
}
🔬 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 stack frame.

Fields

🔬 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?

The MIR for the function called on this frame.

🔬 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?

The def_id and substs of the current function

🔬 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?

The span of the call site.

🔬 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?

The block to return to when returning from the current stack frame

🔬 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?

The location where the result of the current stack frame should be written to.

🔬 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?

The list of locals for this stack frame, stored in order as [return_ptr, arguments..., variables..., temporaries...]. The locals are stored as Option<Value>s. None represents a local that is currently dead, while a live local can either directly contain Scalar or refer to some part of an Allocation.

Before being initialized, arguments are Value::Scalar(Scalar::undef()) and other locals are None.

🔬 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?

The block that is currently executed (or will be executed after the above call stacks return).

🔬 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?

The index of the currently evaluated statement.

Methods

impl<'mir, 'tcx> Frame<'mir, 'tcx>
[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?

🔬 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?

🔬 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?

🔬 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?

Returns the old value of the local

Trait Implementations

impl<'mir, 'tcx: 'mir> Clone for Frame<'mir, 'tcx>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<'mir, 'tcx: 'mir> Eq for Frame<'mir, 'tcx>
[src]

impl<'mir, 'tcx: 'mir> PartialEq for Frame<'mir, 'tcx>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<'mir, 'tcx: 'mir> Hash for Frame<'mir, 'tcx>
[src]

Feeds this value into the given [Hasher]. Read more

Feeds a slice of this type into the given [Hasher]. Read more

Auto Trait Implementations

impl<'mir, 'tcx> !Send for Frame<'mir, 'tcx>

impl<'mir, 'tcx> !Sync for Frame<'mir, 'tcx>