Skip to main content

ClassificationAxis

Trait ClassificationAxis 

Source
pub trait ClassificationAxis {
    // Required method
    fn overlay(self, c: &mut Classification);
}
Expand description

Test/audit helper — a closed-set variant that can overlay its classification-axis slot onto a base Classification. Unifies the five per-axis assignments (horizon = Horizon { kind: self, .. default() }, calm = self, data_classification = self, point_type = self, substrate = self) under ONE substrate shape so Classification::gate_compute_with_axis can compose the workspace baseline with a single-axis mutation generically over any of the five classification axes.

§Compounding

A future SIXTH classification axis lands as ONE peer impl ClassificationAxis on the new axis’s closed set — every downstream test fixture and audit dispatcher that binds through Classification::gate_compute_with_axis picks up the sixth axis mechanically without a five-arm-becomes-six-arm dispatch edit. A future workspace-wide “walk every classification axis” audit primitive binds through the SAME trait rather than restating the five-per-axis assignment shape at its own body.

Theory anchor: THEORY.md §II.1 invariant 5 — composition preserves proofs. The five per-axis assignments each carry an axis-local composition proof (nested-struct horizon.kind gets a fresh Horizon::default() around the mutation; direct-scalar axes get a bare self assignment); this trait promotes the five proofs to ONE shape so a downstream composer binds through the same primitive regardless of which axis it targets.

Required Methods§

Source

fn overlay(self, c: &mut Classification)

Overlay this axis-variant onto c, replacing the corresponding classification-axis slot with self. Leaves every other slot on c untouched.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§