pub enum ExprKind {
Show 13 variants
Cond {
span: TokenSpan,
expr: Box<Expr>,
expr_if_true: Box<Expr>,
expr_if_false: Box<Expr>,
},
Bin {
span: TokenSpan,
op: BinOp,
left_expr: Box<Expr>,
right_expr: Box<Expr>,
},
Un {
span: TokenSpan,
op: UnOp,
expr: Box<Expr>,
},
Field {
span: TokenSpan,
expr: Box<Expr>,
field_ident: Ident,
},
Index {
span: TokenSpan,
expr: Box<Expr>,
index_expr: Box<Expr>,
},
MethodCall {
span: TokenSpan,
ident: Ident,
closure_site_index: Cell<Option<usize>>,
arg_exprs: Vec<Expr>,
},
PlainCall {
span: TokenSpan,
fn_ptr: Option<FnPtr>,
ident: Option<Ident>,
param_index: Cell<Option<usize>>,
closure_site_index: Cell<Option<usize>>,
arg_exprs: Vec<Expr>,
},
BuiltinCall {
span: TokenSpan,
ident: Ident,
arg_exprs: Vec<Expr>,
},
ClosureDef(ClosureDefIndex),
ConsCall {
span: TokenSpan,
ty_lit: TyLit,
arg_exprs: Vec<Expr>,
},
StructCons {
struct_ptr: StructPtr,
span: TokenSpan,
args: Vec<(Ident, Expr)>,
},
Var {
span: TokenSpan,
ident: Option<Ident>,
kind: Cell<Option<VarKind>>,
var_resolve: VarResolve,
},
Lit {
span: TokenSpan,
lit: Lit,
},
}
Variants
Cond
Bin
Un
Field
Index
MethodCall
PlainCall
Fields
span: TokenSpan
BuiltinCall
ClosureDef(ClosureDefIndex)
ConsCall
StructCons
Var
Lit
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for ExprKind
impl !Send for ExprKind
impl !Sync for ExprKind
impl Unpin for ExprKind
impl UnwindSafe for ExprKind
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more