pub enum ExprKind {
Show 21 variants
Lambda {
params: Vec<String>,
body: Box<Expr>,
},
Int(i64),
Float(f64),
Str(String),
Bool(bool),
Null,
Ident(String),
Tuple(Vec<Expr>),
RecordLiteral(Vec<(String, Expr)>),
Assign {
name: String,
expr: Box<Expr>,
},
AssignIndex {
expr: Box<Expr>,
index: Box<Expr>,
value: Box<Expr>,
},
ArrayLiteral(Vec<Expr>),
Call {
callee: Box<Expr>,
args: Vec<Expr>,
},
Field {
expr: Box<Expr>,
field: FieldAccess,
},
Index {
expr: Box<Expr>,
index: Box<Expr>,
},
Await(Box<Expr>),
Block(Block),
If {
condition: Box<Expr>,
then_branch: Block,
else_branch: Option<ElseBranch>,
},
Match {
expr: Box<Expr>,
arms: Vec<MatchArm>,
},
Unary {
op: UnaryOp,
expr: Box<Expr>,
},
Binary {
op: BinaryOp,
left: Box<Expr>,
right: Box<Expr>,
},
}Variants§
Lambda
Int(i64)
Float(f64)
Str(String)
Bool(bool)
Null
Ident(String)
Tuple(Vec<Expr>)
RecordLiteral(Vec<(String, Expr)>)
Assign
AssignIndex
ArrayLiteral(Vec<Expr>)
Call
Field
Index
Await(Box<Expr>)
Block(Block)
If
Match
Unary
Binary
Trait Implementations§
impl StructuralPartialEq for ExprKind
Auto Trait Implementations§
impl Freeze for ExprKind
impl RefUnwindSafe for ExprKind
impl Send for ExprKind
impl Sync for ExprKind
impl Unpin for ExprKind
impl UnsafeUnpin 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