Module rustc::middle [] [src]

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Modules

allocator [
Experimental
]
borrowck [
Experimental
]
const_val [
Experimental
]
cstore [
Experimental
]

the rustc crate store interface. This also includes types that are mostly used as a part of that interface, but these should probably get a better home if someone can find one.

dataflow [
Experimental
]

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 [
Experimental
]
dependency_format [
Experimental
]

Resolution of mixing rlibs and dylibs

entry [
Experimental
]
exported_symbols [
Experimental
]
expr_use_visitor [
Experimental
]

A different sort of visitor for walking fn bodies. Unlike the normal visitor, which just walks the entire body in one shot, the ExprUseVisitor determines how expressions are being used.

free_region [
Experimental
]

This file handles the relationships between free regions -- meaning lifetime parameters. Ordinarily, free regions are unrelated to one another, but they can be related via implied or explicit bounds. In that case, we track the bounds using the TransitiveRelation type and use that to decide when one free region outlives another and so forth.

intrinsicck [
Experimental
]
lang_items [
Experimental
]
liveness [
Experimental
]

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 [
Experimental
]
privacy [
Experimental
]

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 [
Experimental
]
recursion_limit [
Experimental
]
region [
Experimental
]

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

resolve_lifetime [
Experimental
]

Name resolution for lifetimes.

stability [
Experimental
]

A pass that annotates every item and method with its stability level, propagating default levels lexically from parent to children ast nodes.

trans [
Experimental
]
weak_lang_items [
Experimental
]

Validity checking for weak lang items