Expand description
THIR datatypes and definitions. See the rustc dev guide for more info.
If you compare the THIR ExprKind
to 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 ExprKind::Call
instances.
Modules§
Macros§
Structs§
- AdtExpr
- Arm
- A
match
arm. - ArmId
- Ascription
- Block
- BlockId
- Closure
Expr - Expr
- A THIR expression.
- ExprId
- Field
Expr - Represents the association of a field identifier and an expression.
- Field
Pat - FruInfo
- Inline
AsmExpr - Local
VarId - Param
- Description of a type-checked function parameter.
- ParamId
- Pat
- PatRange
- A range pattern. The boundaries must be of the same type and that type must be numeric.
- Stmt
- StmtId
- Temp
Lifetime - Temporary lifetime information for THIR expressions
- Thir
- A container for a THIR body.
Enums§
- AdtExpr
Base - Block
Safety - BodyTy
- Expr
Kind - Inline
AsmOperand - Lint
Level - Logical
Op - PatKind
- PatRange
Boundary - A (possibly open) boundary of a range pattern. If present, the const must be of a numeric type.
- Stmt
Kind
Type Aliases§
- UserTy 🔒