diff --git a/src/mir/construction.md b/src/mir/construction.md index 585984e2..7fe9ee88 100644 --- a/src/mir/construction.md +++ b/src/mir/construction.md @@ -14,6 +14,7 @@ list of items: The lowering is triggered by calling the [`mir_built`] query. There is an intermediate representation between [HIR] and [MIR] called the [THIR] that is only used during the lowering. +[THIR] means "Typed HIR" and used to be called "HAIR (High-level Abstract IR)". The [THIR]'s most important feature is that the various adjustments (which happen without explicit syntax) like coercions, autoderef, autoref and overloaded method calls have become explicit casts, deref operations, reference expressions or diff --git a/src/overview.md b/src/overview.md index 8813d215..ec96d243 100644 --- a/src/overview.md +++ b/src/overview.md @@ -187,10 +187,10 @@ for different purposes: - High-level IR (HIR): This is a sort of desugared AST. It's still close to what the user wrote syntactically, but it includes some implicit things such as some elided lifetimes, etc. This IR is amenable to type checking. -- Typed HIR (THIR): This is an intermediate between HIR and MIR. It is like the HIR - but it is fully typed and a bit more desugared (e.g. method calls and implicit - dereferences are made fully explicit). Moreover, it is easier to lower to MIR - from THIR than from HIR. +- Typed HIR (THIR): This is an intermediate between HIR and MIR, and used to be called + High-level Abstract IR (HAIR). It is like the HIR but it is fully typed and a bit + more desugared (e.g. method calls and implicit dereferences are made fully explicit). + Moreover, it is easier to lower to MIR from THIR than from HIR. - Middle-level IR (MIR): This IR is basically a Control-Flow Graph (CFG). A CFG is a type of diagram that shows the basic blocks of a program and how control flow can go between them. Likewise, MIR also has a bunch of basic blocks with