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§
Sourcefn overlay(self, c: &mut Classification)
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".