pub struct ExecutableRule {
pub path: RulePath,
pub normal_form: NormalFormId,
pub source: Source,
pub rule_type: Arc<LemmaType>,
pub scale_dependencies: Vec<ReferenceTarget>,
}Expand description
A named rule’s root in the normal-form table, plus declaration metadata.
Fields§
§path: RulePathUnique identifier for this rule
normal_form: NormalFormIdRoot of this rule in the shared ExecutionPlan::normal_forms graph.
source: SourceSource location for error messages (always present for rules from parsed specs)
rule_type: Arc<LemmaType>Type of the rule as written: the lowered source expression typed at
planning, equal to validation’s inferred type. The root cell at
normal_form has the same value type but may carry a different name
after rewrites (x + 0 → x), so the API type reads this field.
scale_dependencies: Vec<ReferenceTarget>Scale targets of every dynamic unit this rule’s nodes hold or write, in this plan’s coordinates. Evaluated before the rule body; topological order puts local scale rules first.
Implementations§
Trait Implementations§
Source§impl Clone for ExecutableRule
impl Clone for ExecutableRule
Auto Trait Implementations§
impl Forget for ExecutableRule
impl Freeze for ExecutableRule
impl Move for ExecutableRule
impl RefUnwindSafe for ExecutableRule
impl Send for ExecutableRule
impl Sync for ExecutableRule
impl Unpin for ExecutableRule
impl UnsafeUnpin for ExecutableRule
impl UnwindSafe for ExecutableRule
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