[−][src]Module rustc_mir::hair
🔬 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 ]
|
Guard |
[ 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 |