Enum syntex_syntax::ast::Expr_
[−]
[src]
pub enum Expr_ { ExprBox(P<Expr>), ExprInPlace(P<Expr>, P<Expr>), ExprVec(Vec<P<Expr>>), ExprCall(P<Expr>, Vec<P<Expr>>), ExprMethodCall(SpannedIdent, Vec<P<Ty>>, Vec<P<Expr>>), ExprTup(Vec<P<Expr>>), ExprBinary(BinOp, P<Expr>, P<Expr>), ExprUnary(UnOp, P<Expr>), ExprLit(P<Lit>), ExprCast(P<Expr>, P<Ty>), ExprIf(P<Expr>, P<Block>, Option<P<Expr>>), ExprIfLet(P<Pat>, P<Expr>, P<Block>, Option<P<Expr>>), ExprWhile(P<Expr>, P<Block>, Option<Ident>), ExprWhileLet(P<Pat>, P<Expr>, P<Block>, Option<Ident>), ExprForLoop(P<Pat>, P<Expr>, P<Block>, Option<Ident>), ExprLoop(P<Block>, Option<Ident>), ExprMatch(P<Expr>, Vec<Arm>), ExprClosure(CaptureClause, P<FnDecl>, P<Block>), ExprBlock(P<Block>), ExprAssign(P<Expr>, P<Expr>), ExprAssignOp(BinOp, P<Expr>, P<Expr>), ExprField(P<Expr>, SpannedIdent), ExprTupField(P<Expr>, Spanned<usize>), ExprIndex(P<Expr>, P<Expr>), ExprRange(Option<P<Expr>>, Option<P<Expr>>), ExprPath(Option<QSelf>, Path), ExprAddrOf(Mutability, P<Expr>), ExprBreak(Option<SpannedIdent>), ExprAgain(Option<SpannedIdent>), ExprRet(Option<P<Expr>>), ExprInlineAsm(InlineAsm), ExprMac(Mac), ExprStruct(Path, Vec<Field>, Option<P<Expr>>), ExprRepeat(P<Expr>, P<Expr>), ExprParen(P<Expr>), }
Variants
ExprBox | A |
ExprInPlace | First expr is the place; second expr is the value. |
ExprVec | An array ( |
ExprCall | A function call The first field resolves to the function itself, and the second field is the list of arguments |
ExprMethodCall | A method call ( The The first element of the vector of Thus, |
ExprTup | A tuple ( |
ExprBinary | A binary operation (For example: |
ExprUnary | A unary operation (For example: |
ExprLit | A literal (For example: |
ExprCast | A cast ( |
ExprIf | An
|
ExprIfLet | An
This is desugared to a |
ExprWhile | A while loop, with an optional label
|
ExprWhileLet | A while-let loop, with an optional label
This is desugared to a combination of |
ExprForLoop | A for loop, with an optional label
This is desugared to a combination of |
ExprLoop | Conditionless loop (can be exited with break, continue, or return)
|
ExprMatch | A |
ExprClosure | A closure (for example, |
ExprBlock | A block ( |
ExprAssign | An assignment ( |
ExprAssignOp | An assignment with an operator For example, |
ExprField | Access of a named struct field ( |
ExprTupField | Access of an unnamed field of a struct or tuple-struct For example, |
ExprIndex | An indexing operation ( |
ExprRange | A range ( |
ExprPath | Variable reference, possibly containing Optionally "qualified",
e.g. |
ExprAddrOf | A referencing operation ( |
ExprBreak | A |
ExprAgain | A |
ExprRet | A |
ExprInlineAsm | Output of the |
ExprMac | A macro invocation; pre-expansion |
ExprStruct | A struct literal expression. For example, |
ExprRepeat | An array literal constructed from one repeated element. For example, |
ExprParen | No-op: used solely so we can pretty-print faithfully |