Expand description

A public API provided for the Rust compiler consumers. This file provides API for compiler consumers.


pub use super::BodyWithBorrowckFacts;


Maps between a MIR Location, which identifies 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.



This function computes Polonius facts for the given body. It makes a copy of the body because it needs to regenerate the region identifiers. This function should never be invoked during a typical compilation session due to performance issues with Polonius.

Type Definitions