pub enum RuleEvalMode {
Seminaive,
Naive,
UnsafeSeminaive,
}Expand description
How a rule is evaluated. The three modes are mutually exclusive, so they
share one field on GenericRule.
Variants§
Seminaive
Default: seminaive (delta) evaluation with restrictive Pure/Write
primitive contexts (no database reads in the RHS).
Naive
:naive: match the whole database every iteration, with permissive
Read/Full contexts so the RHS may read the database.
UnsafeSeminaive
:unsafe-seminaive: like :naive’s Read/Full contexts (the RHS may
read the database) but keeps delta evaluation. Unsafe: an RHS read
observes the database mid-iteration and isn’t re-evaluated if it changes.
Implementations§
Trait Implementations§
Source§impl Clone for RuleEvalMode
impl Clone for RuleEvalMode
Source§fn clone(&self) -> RuleEvalMode
fn clone(&self) -> RuleEvalMode
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RuleEvalMode
impl Debug for RuleEvalMode
Source§impl Default for RuleEvalMode
impl Default for RuleEvalMode
Source§fn default() -> RuleEvalMode
fn default() -> RuleEvalMode
Returns the “default value” for a type. Read more
Source§impl Hash for RuleEvalMode
impl Hash for RuleEvalMode
Source§impl PartialEq for RuleEvalMode
impl PartialEq for RuleEvalMode
impl Copy for RuleEvalMode
impl Eq for RuleEvalMode
impl StructuralPartialEq for RuleEvalMode
Auto Trait Implementations§
impl Freeze for RuleEvalMode
impl RefUnwindSafe for RuleEvalMode
impl Send for RuleEvalMode
impl Sync for RuleEvalMode
impl Unpin for RuleEvalMode
impl UnwindSafe for RuleEvalMode
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