pub enum EqualityMode {
Default,
SameAs,
}Expand description
Equality-reasoning mode under which a Datalog program is validated.
Programs are checked under Self::Default by
Program::validate; callers that have
an active equality-rewriting regime pass Self::SameAs through
Program::validate_with_equality_mode
to additionally reject negation and aggregation. The two
methods share their other checks (safety, stratification,
triple-term nesting).
Variants§
Default
No special equality-reasoning regime. All Datalog features — including negation and aggregation — are allowed.
SameAs
The evaluator rewrites terms across equality classes. Negation and aggregation are rejected at validation time because they interact non-monotonically with the rewrite — see the module-level docs.
Trait Implementations§
Source§impl Clone for EqualityMode
impl Clone for EqualityMode
impl Copy for EqualityMode
Source§impl Debug for EqualityMode
impl Debug for EqualityMode
Source§impl Default for EqualityMode
impl Default for EqualityMode
impl Eq for EqualityMode
Source§impl Hash for EqualityMode
impl Hash for EqualityMode
Source§impl PartialEq for EqualityMode
impl PartialEq for EqualityMode
impl StructuralPartialEq for EqualityMode
Auto Trait Implementations§
impl Freeze for EqualityMode
impl RefUnwindSafe for EqualityMode
impl Send for EqualityMode
impl Sync for EqualityMode
impl Unpin for EqualityMode
impl UnsafeUnpin for EqualityMode
impl UnwindSafe for EqualityMode
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