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: Hasher1.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