pub enum Expr {
Show 41 variants
Bool(bool),
U64(u64),
U64Max,
String(String),
NamedVariant {
enum_name: EnumTypeId,
variant: EnumVariantId,
},
FieldAccess {
base: Box<Expr>,
field: FieldId,
},
EnumVariantIs {
value: Box<Expr>,
enum_name: EnumTypeId,
variant: EnumVariantId,
},
EnumStringSetPayload {
value: Box<Expr>,
enum_name: EnumTypeId,
variant: EnumVariantId,
field: FieldId,
},
EmptySet,
EmptyMap,
SeqLiteral(Vec<Expr>),
CurrentPhase,
Phase(PhaseId),
Field(FieldId),
Binding(String),
Variant(String),
None,
IfElse {
condition: Box<Expr>,
then_expr: Box<Expr>,
else_expr: Box<Expr>,
},
Not(Box<Expr>),
And(Vec<Expr>),
Or(Vec<Expr>),
Eq(Box<Expr>, Box<Expr>),
Neq(Box<Expr>, Box<Expr>),
Add(Box<Expr>, Box<Expr>),
Sub(Box<Expr>, Box<Expr>),
Gt(Box<Expr>, Box<Expr>),
Gte(Box<Expr>, Box<Expr>),
Lt(Box<Expr>, Box<Expr>),
Lte(Box<Expr>, Box<Expr>),
Contains {
collection: Box<Expr>,
value: Box<Expr>,
},
MapContainsKey {
map: Box<Expr>,
key: Box<Expr>,
},
SeqStartsWith {
seq: Box<Expr>,
prefix: Box<Expr>,
},
SeqElements(Box<Expr>),
Len(Box<Expr>),
Count {
collection: Box<Expr>,
value: Box<Expr>,
},
Head(Box<Expr>),
MapKeys(Box<Expr>),
MapGet {
map: Box<Expr>,
key: Box<Expr>,
},
Some(Box<Expr>),
Call {
helper: String,
args: Vec<Expr>,
},
Quantified {
quantifier: Quantifier,
binding: String,
over: Box<Expr>,
body: Box<Expr>,
},
}Variants§
Bool(bool)
U64(u64)
U64Max
String(String)
NamedVariant
FieldAccess
EnumVariantIs
EnumStringSetPayload
EmptySet
EmptyMap
SeqLiteral(Vec<Expr>)
CurrentPhase
Phase(PhaseId)
Field(FieldId)
Binding(String)
Variant(String)
None
IfElse
Not(Box<Expr>)
And(Vec<Expr>)
Or(Vec<Expr>)
Eq(Box<Expr>, Box<Expr>)
Neq(Box<Expr>, Box<Expr>)
Add(Box<Expr>, Box<Expr>)
Sub(Box<Expr>, Box<Expr>)
Gt(Box<Expr>, Box<Expr>)
Gte(Box<Expr>, Box<Expr>)
Lt(Box<Expr>, Box<Expr>)
Lte(Box<Expr>, Box<Expr>)
Contains
MapContainsKey
SeqStartsWith
SeqElements(Box<Expr>)
Len(Box<Expr>)
Count
Head(Box<Expr>)
MapKeys(Box<Expr>)
MapGet
Some(Box<Expr>)
Call
Quantified
Trait Implementations§
impl Eq for Expr
impl StructuralPartialEq for Expr
Auto Trait Implementations§
impl Freeze for Expr
impl RefUnwindSafe for Expr
impl Send for Expr
impl Sync for Expr
impl Unpin for Expr
impl UnsafeUnpin for Expr
impl UnwindSafe for Expr
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.