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.


A subset of a mir body used for const evaluatability checking.



A match arm.

An index to an Arm stored in Thir::arms

A THIR expression.

An index to an Expr stored in Thir::exprs

Represents the association of a field identifier and an expression.

An index to a Stmt stored in Thir::stmts

A container for a THIR body.