#[non_exhaustive]pub struct AnalysisDelta {
pub baseline: AnalysisResult,
pub current: AnalysisResult,
pub changes: Vec<FunctionChange>,
pub summary: DeltaSummary,
}Expand description
The product of comparing two AnalysisResults.
baseline and current are owned (consumed by compute) so
downstream borrows remain valid for the whole AnalysisDelta
lifetime. The changes vector contains every Added / Removed /
Modified function — never Unchanged. Reporter consumers iterate
changes; the delta gate consumes summary (via
DeltaSummary::compute) once the changes are known.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.baseline: AnalysisResultOwned baseline analysis. #[serde(skip)] because the JSON
envelope’s result_baseline (future work) or the existing
result block carry the canonical baseline / current data;
double-emitting it inside delta would bloat the payload.
In-memory consumers (reporters) borrow it.
current: AnalysisResult§changes: Vec<FunctionChange>§summary: DeltaSummaryAggregate counts over changes. Computed once at construction
(in compute) so reporters and the delta gate share a
single source of truth — pre-shape, view-independent.
Trait Implementations§
Source§impl Clone for AnalysisDelta
impl Clone for AnalysisDelta
Source§fn clone(&self) -> AnalysisDelta
fn clone(&self) -> AnalysisDelta
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more