Struct rustc_mir::dataflow::at_location::FlowAtLocation[][src]

pub struct FlowAtLocation<BD> where
    BD: BitDenotation
{ base_results: DataflowResults<BD>, curr_state: IdxSetBuf<BD::Idx>, stmt_gen: IdxSetBuf<BD::Idx>, stmt_kill: IdxSetBuf<BD::Idx>, }
🔬 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?

Represents the state of dataflow at a particular CFG location, both before and after it is executed.

Data flow results are typically computed only as basic block boundaries. A FlowInProgress allows you to reconstruct the effects at any point in the control-flow graph by starting with the state at the start of the basic block (reset_to_entry_of) and then replaying the effects of statements and terminators (e.g. via reconstruct_statement_effect and reconstruct_terminator_effect; don't forget to call apply_local_effect).

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?

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

Methods

impl<BD> FlowAtLocation<BD> where
    BD: BitDenotation
[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?

Iterate over each bit set in the current state.

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

Iterate over each gen bit in the current effect (invoke reconstruct_statement_effect or reconstruct_terminator_effect first).

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

Important traits for &'a mut R

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

Access the underlying operator.

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

Important traits for Peekable<I>

🔬 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 an iterator over the elements present in the current state.

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

Creates a clone of the current state and applies the local effects to the clone (leaving the state of self intact). Invokes f with an iterator over the resulting state.

impl<'tcx, T> FlowAtLocation<T> where
    T: HasMoveData<'tcx> + BitDenotation<Idx = MovePathIndex>, 
[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<BD> FlowsAtLocation for FlowAtLocation<BD> where
    BD: BitDenotation
[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?

Reset the state bitvector to represent the entry to block bb.

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

Build gen + kill sets for statement at loc. Read more

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

Build gen + kill sets for terminator for loc. Read more

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

Apply current gen + kill sets to flow_state. Read more

Auto Trait Implementations

impl<BD> Send for FlowAtLocation<BD> where
    BD: Send

impl<BD> Sync for FlowAtLocation<BD> where
    BD: Sync