Module expr

Source

Modules§

parsing 🔒
printing 🔒

Structs§

Arm
One arm of a match expression: 0..=10 => { return true; }.
ExprArray
A slice literal expression: [a, b, c, d].
ExprAssign
An assignment expression: a = compute().
ExprAsync
An async block: async { ... }.
ExprAwait
An await expression: fut.await.
ExprBinary
A binary operation: a + b, a += b.
ExprBlock
A blocked scope: { ... }.
ExprBreak
A break, with an optional label to break and an optional expression.
ExprCall
A function call expression: invoke(a, b).
ExprCast
A cast expression: foo as f64.
ExprClosure
A closure expression: |a, b| a + b.
ExprConst
A const block: const { ... }.
ExprContinue
A continue, with an optional label.
ExprField
Access of a named struct field (obj.k) or unnamed tuple struct field (obj.0).
ExprForLoop
A for loop: for pat in expr { ... }.
ExprGroup
An expression contained within invisible delimiters.
ExprIf
An if expression with an optional else block: if expr { ... } else { ... }.
ExprIndex
A square bracketed indexing expression: vector[2].
ExprInfer
The inferred value of a const generic argument, denoted _.
ExprLet
A let guard: let Some(x) = opt.
ExprLit
A literal in place of an expression: 1, "foo".
ExprLoop
Conditionless loop: loop { ... }.
ExprMacro
A macro invocation expression: format!("{}", q).
ExprMatch
A match expression: match n { Some(n) => {}, None => {} }.
ExprMethodCall
A method call expression: x.foo::<T>(a, b).
ExprParen
A parenthesized expression: (a + b).
ExprPath
A path like std::mem::replace possibly containing generic parameters and a qualified self-type.
ExprRange
A range expression: 1..2, 1.., ..2, 1..=2, ..=2.
ExprRawAddr
Address-of operation: &raw const place or &raw mut place.
ExprReference
A referencing operation: &a or &mut a.
ExprRepeat
An array literal constructed from one repeated element: [0u8; N].
ExprReturn
A return, with an optional value to be returned.
ExprStruct
A struct literal expression: Point { x: 1, y: 1 }.
ExprTry
A try-expression: expr?.
ExprTryBlock
A try block: try { ... }.
ExprTuple
A tuple expression: (a, b, c, d).
ExprUnary
A unary operation: !x, *x.
ExprUnsafe
An unsafe block: unsafe { ... }.
ExprWhile
A while loop: while expr { ... }.
ExprYield
A yield expression: yield expr.
FieldValue
A field-value pair in a struct literal.
Index
The index of an unnamed tuple struct field.
Label
A lifetime labeling a for, while, or loop.

Enums§

Expr
A Rust expression.
Member
A struct or tuple struct field accessed in a struct literal or field expression.
PointerMutability
Mutability of a raw pointer (*const T, *mut T), in which non-mutable isn’t the implicit default.
RangeLimits
Limit types of a range, inclusive or exclusive.