Skip to main content

plan_rules

Function plan_rules 

Source
pub fn plan_rules(
    rules: &[Rule],
    base_relations: &RefRelationStore,
) -> Result<Vec<RulePlan>, PlanError>
Expand description

Plan a slice of rules. Order-preserving: plans[i] is the plan for rules[i].

Stops on the first PlanError. Callers that want best-effort multi-rule planning should call plan_rule per-rule and collect verdicts themselves.

Per-rule typing only — no SCC inference. For mutually recursive predicate groups whose join keys are anchored only through SCC body atoms, use plan_scc_rules so the same transitive type inference that super::evaluate_scc_fixpoint_typed runs is applied before each rule’s verdict.