pub struct SizeClassification {
pub observed_bytes: u64,
pub duplicated_bytes: u64,
pub retained_bytes: Option<u64>,
pub shared_dependency_bytes: Option<u64>,
pub duplicated_data_bytes: Option<u64>,
pub upper_bound_savings_bytes: Option<u64>,
pub estimated_refactor_savings_bytes: Option<EstimatedRefactorSavingsBytes>,
pub verified_savings_bytes: Option<VerifiedSavingsBytes>,
pub clone_confidence: EvidenceConfidence,
pub savings_confidence: EvidenceConfidence,
pub assumptions: Vec<String>,
}Expand description
Size categories kept separate in artifact reports.
A None value means the current parser evidence cannot establish the
category. In particular, retained and shared-dependency sizes require a
resolved call graph, which not every format backend can provide.
Fields§
§observed_bytes: u64Complete byte length observed directly from the input.
duplicated_bytes: u64Excess bytes in exact duplicate code groups.
retained_bytes: Option<u64>Bytes retained by call-graph reachability, when calculated.
Bytes shared by several dependency closures, when calculated.
duplicated_data_bytes: Option<u64>Excess bytes in exact duplicate data groups, when regions were independently established rather than inferred from whole sections.
upper_bound_savings_bytes: Option<u64>A theoretical maximum from directly observed exact duplication.
This is explicitly not a claim that a linker or refactoring can remove the bytes without changing behaviour or layout.
estimated_refactor_savings_bytes: Option<EstimatedRefactorSavingsBytes>A source-informed refactoring estimate, unavailable before mapping.
verified_savings_bytes: Option<VerifiedSavingsBytes>A before/after measured reduction, unavailable for one artifact.
clone_confidence: EvidenceConfidenceConfidence in the duplicate observation. Exact byte equality is a direct observation, while normalized equality stays separate in the duplicate report.
savings_confidence: EvidenceConfidenceConfidence in a possible size reduction. This is unavailable before source mapping and a measured refactoring supply actual evidence.
assumptions: Vec<String>Conditions and omissions that qualify the derived categories.
Trait Implementations§
Source§impl Clone for SizeClassification
impl Clone for SizeClassification
Source§fn clone(&self) -> SizeClassification
fn clone(&self) -> SizeClassification
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SizeClassification
impl Debug for SizeClassification
Source§impl<'de> Deserialize<'de> for SizeClassification
impl<'de> Deserialize<'de> for SizeClassification
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for SizeClassification
Source§impl PartialEq for SizeClassification
impl PartialEq for SizeClassification
Source§impl Serialize for SizeClassification
impl Serialize for SizeClassification
impl StructuralPartialEq for SizeClassification
Auto Trait Implementations§
impl Freeze for SizeClassification
impl RefUnwindSafe for SizeClassification
impl Send for SizeClassification
impl Sync for SizeClassification
impl Unpin for SizeClassification
impl UnsafeUnpin for SizeClassification
impl UnwindSafe for SizeClassification
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.