File tree 2 files changed +3
-1
lines changed
2 files changed +3
-1
lines changed Original file line number Diff line number Diff line change 20
20
- [ Macro expansion] ( ./macro-expansion.md )
21
21
- [ Name resolution] ( ./name-resolution.md )
22
22
- [ The HIR (High-level IR)] ( ./hir.md )
23
+ - [ Lowering AST to HIR] ( ./lowering.md )
23
24
- [ The ` ty ` module: representing types] ( ./ty.md )
24
25
- [ Type inference] ( ./type-inference.md )
25
26
- [ Trait solving (old-style)] ( ./traits/resolution.md )
Original file line number Diff line number Diff line change 3
3
The HIR – "High-Level Intermediate Representation" – is the primary IR used in
4
4
most of rustc. It is a compiler-friendly representation of the abstract syntax
5
5
tree (AST) that is generated after parsing, macro expansion, and name
6
- resolution. Many parts of HIR resemble Rust surface syntax quite closely, with
6
+ resolution (see [ Lowering] ( ./lowering.md ) for how the HIR is created).
7
+ Many parts of HIR resemble Rust surface syntax quite closely, with
7
8
the exception that some of Rust's expression forms have been desugared away. For
8
9
example, ` for ` loops are converted into a ` loop ` and do not appear in the HIR.
9
10
This makes HIR more amenable to analysis than a normal AST.
You can’t perform that action at this time.
0 commit comments