Skip to main content

Module region

Module region 

Source
Expand description

This file builds up the ScopeTree, which describes the parent links in the region hierarchy.

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

StructsΒ§

Context πŸ”’
ScopeResolutionVisitor πŸ”’

EnumsΒ§

LetKind πŸ”’

FunctionsΒ§

record_subexpr_extended_temp_scopes πŸ”’
Applied to an expression expr if expr – or something owned or partially owned by expr – is going to be indirectly referenced by a variable in a let statement. In that case, the β€œtemporary lifetime” of expr is extended to be the block enclosing the let statement.
record_var_lifetime πŸ”’
Records the lifetime of a local variable as cx.var_parent
region_scope_tree πŸ”’
Per-body region::ScopeTree. The DefId should be the owner DefId for the body; in the case of closures, this will be redirected to the enclosing function.
resolve_arm πŸ”’
resolve_block πŸ”’
resolve_cond πŸ”’
Resolve a condition from an if expression or match guard so that it is a terminating scope if it doesn’t contain let expressions.
resolve_expr πŸ”’
resolve_local πŸ”’
resolve_pat πŸ”’
resolve_stmt πŸ”’