Struct rustc_mir::build::ScopeAuxiliary
[−]
[src]
pub struct ScopeAuxiliary {
pub extent: CodeExtent,
pub dom: Location,
pub postdoms: Vec<Location>,
}Unstable (
rustc_private)For each scope, we track the extent (from the HIR) and a single-entry-multiple-exit subgraph that contains all the statements/terminators within it.
This information is separated out from the main ScopeData
because it is short-lived. First, the extent contains node-ids,
so it cannot be saved and re-loaded. Second, any optimization will mess up
the dominator/postdominator information.
The intention is basically to use this information to do regionck/borrowck and then throw it away once we are done.
Fields
extent: CodeExtent
Unstable (
rustc_private)extent of this scope from the MIR.
dom: Location
Unstable (
rustc_private)"entry point": dominator of all nodes in the scope
postdoms: Vec<Location>
Unstable (
rustc_private)"exit points": mutual postdominators of all nodes in the scope