@@ -14,16 +14,16 @@ 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 [ HAIR] that is only used during the lowering.
17
- The [ HAIR] 's most important feature is that the various adjustments that happen
18
- without explicit syntax (coercion, autoderef, autoref, ...) have become explicit
19
- casts, deref operations or reference expressions.
17
+ The [ HAIR] 's most important feature is that the various adjustments (which happen
18
+ without explicit syntax) like coercions, autoderef, autoref and overloaded method
19
+ calls have become explicit casts, deref operations, reference expressions or
20
+ concrete function calls.
20
21
21
22
The [ HAIR] has datatypes that mirror the [ HIR] datatypes, but instead of e.g. ` -x `
22
23
being a ` hair::ExprKind::Neg(hair::Expr) ` it is a ` hair::ExprKind::Neg(hir::Expr) ` .
23
24
This shallowness enables the ` HAIR ` to represent all datatypes that [ HIR] has, but
24
- without having to create an in-memory copy of the entire [ HIR] . The [ HAIR] also
25
- does a few simplifications, e.g. method calls and function calls have been merged
26
- into a single variant. [ MIR] lowering will first convert the topmost expression from
25
+ without having to create an in-memory copy of the entire [ HIR] .
26
+ [ MIR] lowering will first convert the topmost expression from
27
27
[ HIR] to [ HAIR] (in
28
28
[ https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/hair/cx/expr/index.html ] )
29
29
and then process the [ HAIR] expressions recursively.
@@ -85,7 +85,7 @@ basic block onto which the statements should be appended.
85
85
86
86
## Lowering expressions into the desired MIR
87
87
88
- There are essentially four kinds of representations one might want of a value :
88
+ There are essentially four kinds of representations one might want of an expression :
89
89
90
90
* ` Place ` refers to a (or a part of) preexisting memory ___location (local, static, promoted)
91
91
* ` Rvalue ` is something that can be assigned to a ` Place `
0 commit comments