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
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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more