THIR datatypes and definitions. See the rustc dev guide for more info.
If you compare the THIR
hir::ExprKind, you will see it is
a good bit simpler. In fact, a number of the more straight-forward
MIR simplifications are already done in the lowering to THIR. For
example, method calls and overloaded operators are absent: they are
expected to be converted into
- A THIR expression.
- Represents the association of a field identifier and an expression.
- Description of a type-checked function parameter.
- A range pattern. The boundaries must be of the same type and that type must be numeric.
- A container for a THIR body.
- A (possibly open) boundary of a range pattern. If present, the const must be of a numeric type.
- UserTy 🔒