pub enum Expr<'a> {
Show 19 variants
Str(&'a str),
Int(i128),
Var {
kind: VarType,
name: &'a str,
},
VarQual {
kind: VarType,
module: &'a str,
name: &'a str,
},
List(&'a [&'a Located<Expr<'a>>]),
Op(&'a str),
Negate(&'a Located<Expr<'a>>),
BinOps {
operands: &'a [&'a BinOpOperand<'a>],
last: &'a Located<Expr<'a>>,
},
Lambda {
parameters: &'a [&'a Located<Pattern<'a>>],
body: &'a Located<Expr<'a>>,
},
Call {
function: &'a Located<Expr<'a>>,
arguments: &'a [&'a Located<Expr<'a>>],
},
If {
branches: &'a [&'a IfBranch<'a>],
final_else: &'a Located<Expr<'a>>,
},
Let {
defs: &'a [&'a Located<Def<'a>>],
body: &'a Located<Expr<'a>>,
},
Case {
scrutinee: &'a Located<Expr<'a>>,
arms: &'a [&'a CaseArm<'a>],
},
Accessor(&'a str),
Access {
record: &'a Located<Expr<'a>>,
field: &'a Located<&'a str>,
},
Update {
record: &'a Located<&'a str>,
fields: &'a [&'a FieldAssign<'a>],
},
Record(&'a [&'a FieldAssign<'a>]),
Unit,
Tuple {
first: &'a Located<Expr<'a>>,
second: &'a Located<Expr<'a>>,
rest: &'a [&'a Located<Expr<'a>>],
},
}Variants§
Str(&'a str)
Int(i128)
Var
VarQual
List(&'a [&'a Located<Expr<'a>>])
Op(&'a str)
Negate(&'a Located<Expr<'a>>)
BinOps
Lambda
Call
If
Let
Case
Accessor(&'a str)
Access
Update
Record(&'a [&'a FieldAssign<'a>])
Unit
Tuple
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Expr<'a>
impl<'a> RefUnwindSafe for Expr<'a>
impl<'a> Send for Expr<'a>
impl<'a> Sync for Expr<'a>
impl<'a> Unpin for Expr<'a>
impl<'a> UnsafeUnpin for Expr<'a>
impl<'a> UnwindSafe for Expr<'a>
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