pub struct Conflict {
pub origin: Origin,
pub atoms: Vec<String>,
pub trace: Vec<TraceStep>,
}Expand description
A violated constraint (or a fact-level contradiction).
Fields§
§origin: OriginProvenance of the violated constraint (source, line, premise name, kind).
atoms: Vec<String>Human labels of the atoms participating in the contradiction.
trace: Vec<TraceStep>The derivation chain that forced the participating atoms to the values
which made the constraint fire — supporting facts first, then each rule
built on them, ending at the conflict. This is the answer to “CONFLICT,
but why?”. Empty for a direct FACT X + NOT X contradiction and for
the <system> joint-unsatisfiability conflict (neither has a chain).
Trait Implementations§
impl Eq for Conflict
impl StructuralPartialEq for Conflict
Auto Trait Implementations§
impl Freeze for Conflict
impl RefUnwindSafe for Conflict
impl Send for Conflict
impl Sync for Conflict
impl Unpin for Conflict
impl UnsafeUnpin for Conflict
impl UnwindSafe for Conflict
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