pub struct RuleResult {
pub rule_name: String,
pub result: Option<LiteralValue>,
pub bindings: HashMap<String, LiteralValue>,
pub missing_facts: Option<Vec<String>>,
pub veto_message: Option<String>,
pub operations: Vec<OperationRecord>,
}Expand description
Result of evaluating a single rule
Represents the outcome of evaluating one rule, including whether it matched, what value it produced, and any variable bindings.
Fields§
§rule_name: String§result: Option<LiteralValue>§bindings: HashMap<String, LiteralValue>§missing_facts: Option<Vec<String>>§veto_message: Option<String>§operations: Vec<OperationRecord>Implementations§
Source§impl RuleResult
impl RuleResult
pub fn success( rule_name: String, result: LiteralValue, bindings: HashMap<String, LiteralValue>, ) -> Self
pub fn success_with_operations( rule_name: String, result: LiteralValue, bindings: HashMap<String, LiteralValue>, operations: Vec<OperationRecord>, ) -> Self
pub fn no_match(rule_name: String) -> Self
pub fn missing_facts(rule_name: String, facts: Vec<String>) -> Self
pub fn veto(rule_name: String, message: Option<String>) -> Self
Trait Implementations§
Source§impl Clone for RuleResult
impl Clone for RuleResult
Source§fn clone(&self) -> RuleResult
fn clone(&self) -> RuleResult
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 RuleResult
impl Debug for RuleResult
Auto Trait Implementations§
impl Freeze for RuleResult
impl RefUnwindSafe for RuleResult
impl Send for RuleResult
impl Sync for RuleResult
impl Unpin for RuleResult
impl UnwindSafe for RuleResult
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more