pub struct StructuralStats {Show 25 fields
pub files: usize,
pub units: usize,
pub candidate: CandidateStats,
pub near_match: NearMatchStats,
pub control_flow: ControlFlowStats,
pub maximal: RegionStats,
pub regions: usize,
pub region_singletons: usize,
pub region_overlapping: usize,
pub region_adjoining: usize,
pub region_subsumed: usize,
pub region_merged: usize,
pub below_min_clone_token_regions: usize,
pub nested_pairs: usize,
pub alternative_pairs: usize,
pub divergent_shape_pairs: usize,
pub below_min_clone_token_pairs: usize,
pub unit_pairs: usize,
pub verification_budget_dropped: usize,
pub verified_pairs: usize,
pub unrepresented_pairs: usize,
pub described_pairs: usize,
pub severed_pairs: usize,
pub grouping: GroupingStats,
pub siblings: SiblingSweepStats,
}Expand description
Funnel counters across the whole run: how many fragments, candidate pairs and verified pairs each stage saw.
Fields§
§files: usizeFiles analysed.
units: usizeUnits across all files.
candidate: CandidateStatsExact-seed candidate extraction statistics.
near_match: NearMatchStatsNear-match extraction statistics.
control_flow: ControlFlowStatsControl-flow skeleton extraction statistics.
maximal: RegionStatsMaximal-region consolidation statistics.
regions: usizeDuplicated runs confirmed against the source tokens.
region_singletons: usizeOccurrences dropped for holding content no other occurrence of their candidate run shared: the statement summaries agreed but the code did not.
region_overlapping: usizeOccurrences dropped for covering source a kept occurrence of the same run already covers, which makes them one stretch of code rather than two instances of it.
region_adjoining: usizeOccurrences dropped for continuing a kept occurrence of the same run, statement for statement, inside one block. Those tile one stretch of code, so the run is that stretch’s period rather than a copy of it.
region_subsumed: usizeConfirmed runs dropped because a longer run covers every one of their occurrences and claims at least as much about them.
region_merged: usizeLonger runs made by joining confirmed runs that describe one stretch at
two offsets. The parts they cover leave through region_subsumed.
below_min_clone_token_regions: usizeConfirmed duplicated statement runs dropped because at least one occurrence is shorter than the configured minimum clone length.
nested_pairs: usizeCandidate pairs dropped because one unit encloses the other.
alternative_pairs: usizeCandidate pairs dropped because the two units sit under different arms of one preprocessor conditional, so no build holds both.
divergent_shape_pairs: usizeCandidate pairs dropped because the two units hold too different a mix of shapes for verification to have anything to find.
below_min_clone_token_pairs: usizeCandidate unit pairs dropped because one member is shorter than the configured minimum clone length.
unit_pairs: usizeDistinct unit pairs handed to verification.
verification_budget_dropped: usizeCandidate unit pairs left unverified after the verification budget was spent. A nonzero count means the reported groups can be incomplete.
verified_pairs: usizeUnit pairs that verification accepted as clones.
unrepresented_pairs: usizeVerified pairs no reported group holds both halves of.
described_pairs: usizeVerified pairs left out of that carry-out because a group already relates their two sides, one of them holding a unit nested inside the other side.
severed_pairs: usizeVerified pairs left out because the component ceiling cut their two
sides into separate pieces, so no group was ever in a position to hold
both. Zero unless GroupingConfig::max_component fired.
grouping: GroupingStatsGrouping statistics.
siblings: SiblingSweepStatsPost-grouping sibling-sweep accounting.
Trait Implementations§
Source§impl Clone for StructuralStats
impl Clone for StructuralStats
Source§fn clone(&self) -> StructuralStats
fn clone(&self) -> StructuralStats
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 StructuralStats
impl Debug for StructuralStats
Source§impl Default for StructuralStats
impl Default for StructuralStats
Source§fn default() -> StructuralStats
fn default() -> StructuralStats
impl Eq for StructuralStats
Source§impl PartialEq for StructuralStats
impl PartialEq for StructuralStats
impl StructuralPartialEq for StructuralStats
Auto Trait Implementations§
impl Freeze for StructuralStats
impl RefUnwindSafe for StructuralStats
impl Send for StructuralStats
impl Sync for StructuralStats
impl Unpin for StructuralStats
impl UnsafeUnpin for StructuralStats
impl UnwindSafe for StructuralStats
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,
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.