pub struct Compiled {
pub atoms: Vec<AtomKey>,
pub facts: Vec<Fact>,
pub clauses: Vec<Clause>,
pub rules: Vec<Rule>,
pub checks: Vec<Check>,
pub pending_imports: Vec<String>,
pub unused_imports: Vec<UnusedImport>,
}Expand description
The compiled IR: the solver’s input.
Fields§
§atoms: Vec<AtomKey>Indexed by AtomId; canonically sorted.
facts: Vec<Fact>Confident assertions from FACT/NOT.
clauses: Vec<Clause>Impossible clauses (desugared premises + the built-in non-contradiction).
rules: Vec<Rule>Forward-chaining rules from RULE.
checks: Vec<Check>CHECK queries.
pending_imports: Vec<String>Imports seen but not yet resolved (only populated by compile_source;
compile resolves them, leaving this empty).
unused_imports: Vec<UnusedImport>Advisory: imports that a file makes but never references (no domain.atom
from that file uses the imported domain). Structural, per-file, and inert —
it never affects the solve. Only populated by compile (an unresolved
import in compile_source cannot be classified). See UnusedImport.
Trait Implementations§
impl Eq for Compiled
impl StructuralPartialEq for Compiled
Auto Trait Implementations§
impl Freeze for Compiled
impl RefUnwindSafe for Compiled
impl Send for Compiled
impl Sync for Compiled
impl Unpin for Compiled
impl UnsafeUnpin for Compiled
impl UnwindSafe for Compiled
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