Module rustc_mir::hair [−][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?
The MIR is built from some high-level abstract IR (HAIR). This section defines the HAIR along with a trait for accessing it. The intention is to allow MIR construction to be unit-tested and separated from the Rust source and compiler data structures.
Re-exports
pub use self::pattern::BindingMode; |
pub use self::pattern::Pattern; |
pub use self::pattern::PatternKind; |
pub use self::pattern::FieldPattern; |
Modules
| cx |
[ Experimental ] This module contains the code to convert from the wacky tcx data
structures into the hair. The |
| pattern |
[ Experimental ] Code to validate patterns/matches |
Structs
| Arm |
[ Experimental ]
|
| Block |
[ Experimental ]
|
| Expr |
[ Experimental ] The Hair trait implementor lowers their expressions ( |
| FieldExprRef |
[ Experimental ]
|
| FruInfo |
[ Experimental ]
|
| Stmt |
[ Experimental ]
|
Enums
| BlockSafety |
[ Experimental ]
|
| ExprKind |
[ Experimental ]
|
| ExprRef |
[ Experimental ]
|
| LintLevel |
[ Experimental ]
|
| LogicalOp |
[ Experimental ]
|
| StmtKind |
[ Experimental ]
|
| StmtRef |
[ Experimental ]
|
Traits
| Mirror |
[ Experimental ] "Mirroring" is the process of converting from a HIR type into one
of the HAIR types defined in this file. This is basically a "on
the fly" desugaring step that hides a lot of the messiness in the
tcx. For example, the mirror of a |