pub enum SpecExpr {
Var {
name: String,
},
IntLit {
value: i64,
},
FloatLit {
value: f64,
},
BoolLit {
value: bool,
},
StrLit {
value: String,
},
Call {
func: String,
args: Vec<SpecExpr>,
},
Let {
name: String,
value: Box<SpecExpr>,
body: Box<SpecExpr>,
},
BinOp {
op: SpecOp,
lhs: Box<SpecExpr>,
rhs: Box<SpecExpr>,
},
Not {
expr: Box<SpecExpr>,
},
}Variants§
Var
IntLit
FloatLit
BoolLit
StrLit
Call
A call into the target Lex function (or another helper).
Let
BinOp
Not
Trait Implementations§
Source§impl<'de> Deserialize<'de> for SpecExpr
impl<'de> Deserialize<'de> for SpecExpr
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for SpecExpr
Auto Trait Implementations§
impl Freeze for SpecExpr
impl RefUnwindSafe for SpecExpr
impl Send for SpecExpr
impl Sync for SpecExpr
impl Unpin for SpecExpr
impl UnsafeUnpin for SpecExpr
impl UnwindSafe for SpecExpr
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