Module rustc_mir::borrow_check::location[][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?

Re-exports

use rustc::mir::BasicBlock;
use rustc::mir::Location;
use rustc::mir::Mir;
use rustc_data_structures::indexed_vec::Idx;
use rustc_data_structures::indexed_vec::IndexVec;

Structs

LocationIndex [
Experimental
]
LocationTable [
Experimental
]

Maps between a MIR Location, which identifies the a particular statement within a basic block, to a "rich location", which identifies at a finer granularity. In particular, we distinguish the start of a statement and the mid-point. The mid-point is the point just before the statement takes effect; in particular, for an assignment A = B, it is the point where B is about to be written into A. This mid-point is a kind of hack to work around our inability to track the position information at sufficient granularity through outlives relations; however, the rich location table serves another purpose: it compresses locations from multiple words into a single u32.

Enums

RichLocation [
Experimental
]