File tree 2 files changed +5
-4
lines changed
2 files changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -14,6 +14,7 @@ list of items:
14
14
The lowering is triggered by calling the [ ` mir_built ` ] query.
15
15
There is an intermediate representation
16
16
between [ HIR] and [ MIR] called the [ THIR] that is only used during the lowering.
17
+ [ THIR] means "Typed HIR" and used to be called "HAIR (High-level Abstract IR)".
17
18
The [ THIR] 's most important feature is that the various adjustments (which happen
18
19
without explicit syntax) like coercions, autoderef, autoref and overloaded method
19
20
calls have become explicit casts, deref operations, reference expressions or
Original file line number Diff line number Diff line change @@ -187,10 +187,10 @@ for different purposes:
187
187
- High-level IR (HIR): This is a sort of desugared AST. It's still close
188
188
to what the user wrote syntactically, but it includes some implicit things
189
189
such as some elided lifetimes, etc. This IR is amenable to type checking.
190
- - Typed HIR (THIR): This is an intermediate between HIR and MIR. It is like the HIR
191
- but it is fully typed and a bit more desugared (e.g. method calls and implicit
192
- dereferences are made fully explicit). Moreover, it is easier to lower to MIR
193
- from THIR than from HIR.
190
+ - Typed HIR (THIR): This is an intermediate between HIR and MIR, and used to be called
191
+ High-level Abstract IR (HAIR). It is like the HIR but it is fully typed and a bit
192
+ more desugared (e.g. method calls and implicit dereferences are made fully explicit).
193
+ Moreover, it is easier to lower to MIR from THIR than from HIR.
194
194
- Middle-level IR (MIR): This IR is basically a Control-Flow Graph (CFG). A CFG
195
195
is a type of diagram that shows the basic blocks of a program and how control
196
196
flow can go between them. Likewise, MIR also has a bunch of basic blocks with
You can’t perform that action at this time.
0 commit comments