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 matcharm.
- ArmId
- Ascription
- Block
- BlockId
- ClosureExpr 
- Expr
- A THIR expression.
- ExprId
- FieldExpr 
- Represents the association of a field identifier and an expression.
- FieldPat 
- FruInfo
- InlineAsmExpr 
- LocalVarId 
- LoopMatch Match Data 
- The matchpart of a#[loop_match]
- 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
- TempLifetime 
- Temporary lifetime information for THIR expressions
- Thir
- A container for a THIR body.
Enums§
- AdtExprBase 
- BlockSafety 
- BodyTy
- ExprKind 
- InlineAsmOperand 
- LintLevel 
- LogicalOp 
- PatKind
- PatRangeBoundary 
- A (possibly open) boundary of a range pattern. If present, the const must be of a numeric type.
- StmtKind 
Type Aliases§
- UserTy 🔒