Enum syntex_syntax::ast::ExprKind
[−]
[src]
pub enum ExprKind { Box(P<Expr>), InPlace(P<Expr>, P<Expr>), Vec(Vec<P<Expr>>), Call(P<Expr>, Vec<P<Expr>>), MethodCall(SpannedIdent, Vec<P<Ty>>, Vec<P<Expr>>), Tup(Vec<P<Expr>>), Binary(BinOp, P<Expr>, P<Expr>), Unary(UnOp, P<Expr>), Lit(P<Lit>), Cast(P<Expr>, P<Ty>), Type(P<Expr>, P<Ty>), If(P<Expr>, P<Block>, Option<P<Expr>>), IfLet(P<Pat>, P<Expr>, P<Block>, Option<P<Expr>>), While(P<Expr>, P<Block>, Option<Ident>), WhileLet(P<Pat>, P<Expr>, P<Block>, Option<Ident>), ForLoop(P<Pat>, P<Expr>, P<Block>, Option<Ident>), Loop(P<Block>, Option<Ident>), Match(P<Expr>, Vec<Arm>), Closure(CaptureBy, P<FnDecl>, P<Block>), Block(P<Block>), Assign(P<Expr>, P<Expr>), AssignOp(BinOp, P<Expr>, P<Expr>), Field(P<Expr>, SpannedIdent), TupField(P<Expr>, Spanned<usize>), Index(P<Expr>, P<Expr>), Range(Option<P<Expr>>, Option<P<Expr>>, RangeLimits), Path(Option<QSelf>, Path), AddrOf(Mutability, P<Expr>), Break(Option<SpannedIdent>), Again(Option<SpannedIdent>), Ret(Option<P<Expr>>), InlineAsm(InlineAsm), Mac(Mac), Struct(Path, Vec<Field>, Option<P<Expr>>), Repeat(P<Expr>, P<Expr>), Paren(P<Expr>), Try(P<Expr>), }
Variants
Box | A | |
InPlace | First expr is the place; second expr is the value. | |
Vec | An array ( | |
Call | A function call The first field resolves to the function itself, and the second field is the list of arguments | |
MethodCall | A method call ( The The first element of the vector of Thus, | |
Tup | A tuple ( | |
Binary | A binary operation (For example: | |
Unary | A unary operation (For example: | |
Lit | A literal (For example: | |
Cast | A cast ( | |
Type | ||
If | An
| |
IfLet | An
This is desugared to a | |
While | A while loop, with an optional label
| |
WhileLet | A while-let loop, with an optional label
This is desugared to a combination of | |
ForLoop | A for loop, with an optional label
This is desugared to a combination of | |
Loop | Conditionless loop (can be exited with break, continue, or return)
| |
Match | A | |
Closure | A closure (for example, | |
Block | A block ( | |
Assign | An assignment ( | |
AssignOp | An assignment with an operator For example, | |
Field | Access of a named struct field ( | |
TupField | Access of an unnamed field of a struct or tuple-struct For example, | |
Index | An indexing operation ( | |
Range | A range ( | |
Path | Variable reference, possibly containing Optionally "qualified",
e.g. | |
AddrOf | A referencing operation ( | |
Break | A | |
Again | A | |
Ret | A | |
InlineAsm | Output of the | |
Mac | A macro invocation; pre-expansion | |
Struct | A struct literal expression. For example, | |
Repeat | An array literal constructed from one repeated element. For example, | |
Paren | No-op: used solely so we can pretty-print faithfully | |
Try |
|
Trait Implementations
Derived Implementations
impl Debug for ExprKind
[src]
impl Hash for ExprKind
[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
Feeds this value into the state given, updating the hasher as necessary.
fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
1.3.0
Feeds a slice of this type into the state provided.
impl Decodable for ExprKind
[src]
impl Encodable for ExprKind
[src]
impl Eq for ExprKind
[src]
impl PartialEq for ExprKind
[src]
fn eq(&self, __arg_0: &ExprKind) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &ExprKind) -> bool
This method tests for !=
.
impl Clone for ExprKind
[src]
fn clone(&self) -> ExprKind
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more