[−][src]Crate rustc_middle
The "main crate" of the Rust compiler. This crate contains common type definitions that are used by the other crates in the rustc "family". Some prominent examples (note that each of these modules has their own README with further details).
- HIR. The "high-level (H) intermediate representation (IR)" is
defined in the
hirmodule. - MIR. The "mid-level (M) intermediate representation (IR)" is
defined in the
mirmodule. This module contains only the definition of the MIR; the passes that transform and operate on MIR are found inlibrustc_mircrate. - Types. The internal representation of types used in rustc is
defined in the
tymodule. This includes the type context (ortcx), which is the central context during most of compilation, containing the interners and other things.
For more information about how rustc works, see the rustc dev guide.
Note
This API is completely unstable and subject to change.
Modules
| arena | |
| dep_graph | |
| hir | HIR datatypes. See the rustc dev guide for more info. |
| ich | ICH - Incremental Compilation Hash |
| infer | |
| lint | |
| macros | |
| middle | |
| mir | MIR datatypes and passes. See the rustc dev guide for more info. |
| query | |
| traits | Trait Resolution. See the rustc dev guide for more information on how this works. |
| ty | |
| util |
Macros
| CloneLiftImpls | |
| EnumTypeFoldableImpl | |
| TrivialTypeFoldableAndLiftImpls | |
| TrivialTypeFoldableImpls | Used for types that are |
| __impl_decoder_methods | |
| arena_types | This declares a list of types which can be allocated by |
| bug | |
| err_exhaust | |
| err_inval | |
| err_machine_stop | |
| err_ub | |
| err_ub_format | |
| err_unsup | |
| err_unsup_format | |
| implement_ty_decoder | |
| span_bug | |
| throw_exhaust | |
| throw_inval | |
| throw_machine_stop | |
| throw_ub | |
| throw_ub_format | |
| throw_unsup | |
| throw_unsup_format |