#[derive(Debug, PartialEq, Eq, Clone, Copy, Hash, PartialOrd, Ord)]
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
pub enum UnaryOp {
Not,
Neg,
IsEmpty,
}
impl std::fmt::Display for UnaryOp {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
UnaryOp::Not => write!(f, "!"),
UnaryOp::Neg => write!(f, "-"),
UnaryOp::IsEmpty => write!(f, "isEmpty"),
}
}
}
#[derive(Debug, PartialEq, Eq, Clone, Copy, Hash, PartialOrd, Ord)]
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
pub enum BinaryOp {
Eq,
Less,
LessEq,
Add,
Sub,
Mul,
In,
Contains,
ContainsAll,
ContainsAny,
GetTag,
HasTag,
}
impl std::fmt::Display for BinaryOp {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
BinaryOp::Eq => write!(f, "=="),
BinaryOp::Less => write!(f, "<"),
BinaryOp::LessEq => write!(f, "<="),
BinaryOp::Add => write!(f, "+"),
BinaryOp::Sub => write!(f, "-"),
BinaryOp::Mul => write!(f, "*"),
BinaryOp::In => write!(f, "in"),
BinaryOp::Contains => write!(f, "contains"),
BinaryOp::ContainsAll => write!(f, "containsAll"),
BinaryOp::ContainsAny => write!(f, "containsAny"),
BinaryOp::GetTag => write!(f, "getTag"),
BinaryOp::HasTag => write!(f, "hasTag"),
}
}
}