Module ra_ap_hir_def::expr[][src]

Expand description

This module describes hir-level representation of expressions.

This representation is:

  1. Identity-based. Each expression has an id, so we can distinguish between different 1 in 1 + 1.
  2. Independent of syntax. Though syntactic provenance information can be attached separately via id-based side map.
  3. Unresolved. Paths are stored as sequences of names, and not as defs the names refer to.
  4. Desugared. There’s no if let.

See also a neighboring body module.

Structs

Label
MatchArm
RecordFieldPat
RecordLitField

Enums

ArithOp
Array
BinaryOp
BindingAnnotation

Explicit binding annotations given in the HIR for a binding. Note that this is not the final binding mode that we infer after type inference.

CmpOp
Expr
Literal
LogicOp
Ordering
Pat

Close relative to rustc’s hir::PatKind

Statement
UnaryOp

Type Definitions

ExprId
LabelId
PatId