[src]

Module rustc::middle

astencode
borrowck

See doc.rs for a thorough explanation of the borrow checker

cfg

Module that constructs a control-flow graph representing an item. Uses Graph as the underlying representation.

check_const
check_loop
check_match
check_static
const_eval
dataflow

A module for propagating forward dataflow information. The analysis assumes that the items to be propagated can be represented as bits and thus uses bitvectors. Your job is simply to specify the so-called GEN and KILL bits for each expression.

dead
effect

Enforces the Rust effect system. Currently there is just one effect,

entry
freevars
graph

A graph module for use in dataflow, region resolution, and elsewhere.

kind
lang_items
lint

A 'lint' check is a kind of miscellaneous constraint that a user might want to enforce, but might reasonably want to permit as well, on a module-by-module basis. They contrast with static constraints enforced by other phases of the compiler, which are generally required to hold in order to compile the program at all.

liveness

A classic liveness analysis based on dataflow over the AST. Computes, for each local variable in a function, whether that variable is live at a given point. Program execution points are identified by their id.

mem_categorization

Categorization

moves

Moves Computation

pat_util
privacy

A pass that checks to make sure private fields and methods aren't used outside their scopes. This pass will also generate a set of exported items which are available for use externally when compiled as a library.

reachable
region

This file actually contains two passes related to regions. The first pass builds up the scope_map, which describes the parent links in the region hierarchy. The second pass infers which types must be region parameterized.

resolve
resolve_lifetime

Name resolution for lifetimes.

subst
trans
ty
ty_fold
typeck