pub enum SpecExpr {
ConstInt {
val: i128,
pos: Pos,
},
ConstBitVec {
val: i128,
width: i8,
pos: Pos,
},
ConstBool {
val: bool,
pos: Pos,
},
ConstUnit {
pos: Pos,
},
Var {
var: Ident,
pos: Pos,
},
Op {
op: SpecOp,
args: Vec<SpecExpr>,
pos: Pos,
},
Pair {
l: Box<SpecExpr>,
r: Box<SpecExpr>,
},
Enum {
name: Ident,
},
}
Expand description
An expression used to specify term semantics, similar to SMT-LIB syntax.
Variants§
ConstInt
An operator that matches a constant integer value.
ConstBitVec
An operator that matches a constant bitvector value.
ConstBool
An operator that matches a constant boolean value.
ConstUnit
The Unit constant value.
Var
Op
An application of a type variant or term.
Pair
Pairs, currently used for switch statements.
Enum
Enums variant values (enums defined by model)
Trait Implementations§
impl Eq for SpecExpr
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 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