Module rustc_middle::middle::region

source ·
Expand description

This file declares the ScopeTree type, which describes the parent links in the region hierarchy.

For more information about how MIR-based region-checking works, see the rustc dev guide.


  • Represents a subscope of block for a binding that is introduced by block.stmts[first_statement_index]. Such subscopes represent a suffix of the block. Note that each subscope does not include the initializer expression, if any, for the statement indexed by first_statement_index.
  • Represents a statically-describable scope that can be used to bound the lifetime/region for values.
  • The region scope tree encodes information about region relationships.


  • Identifies the reason that a given expression is an rvalue candidate (see the rvalue_candidates field for more information what rvalue candidates in general). In constants, the lifetime field is None to indicate that certain expressions escape into ’static and should have no local cleanup scope.

Type Aliases§