pub struct DiffResult {
pub runs: RunPair,
pub alignment: Vec<Move>,
pub fork: Option<Fork>,
pub field_diffs: Vec<FieldDiff>,
pub attribution: Option<Attribution>,
pub warnings: Vec<Warning>,
pub meta: Meta,
}Expand description
The complete result of diffing two runs — the frozen output contract.
Fields§
§runs: RunPair§alignment: Vec<Move>The full move-typed alignment, in order.
fork: Option<Fork>The divergence point, or None on a converged diff.
field_diffs: Vec<FieldDiff>Field-level differences within aligned pairs.
attribution: Option<Attribution>Regression attribution, if computed.
warnings: Vec<Warning>Non-fatal diagnostics.
meta: MetaImplementations§
Source§impl DiffResult
impl DiffResult
Sourcepub fn fork_step_observed(&self) -> Option<usize>
pub fn fork_step_observed(&self) -> Option<usize>
The observed-run (side b) step the fork points at, or None on a converged diff.
A fork whose move touches the observed run names its step directly (Fork::b_step).
A model-only fork — the observed run is missing steps the reference has — has no b
side; the nearest observed step is the first one not yet consumed when the gap opens
(the count of b-consuming moves before the fork), clamped to the last real step.
Every consumer answering “where did MY run go wrong” (bench scoring, the parity test)
reads this one rule instead of re-deriving it.
Trait Implementations§
Source§impl Clone for DiffResult
impl Clone for DiffResult
Source§fn clone(&self) -> DiffResult
fn clone(&self) -> DiffResult
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more