Struct MiningStats
pub struct MiningStats {
pub fixes_found: u32,
pub links_found: u32,
pub files_blamed: u32,
pub lines_considered: u32,
pub lines_dropped_cosmetic: u32,
pub blame_failures: u32,
pub pure_addition_fixes: u32,
pub fixes_excluded_tangled: u32,
pub ghost_files_skipped: u32,
}Expand description
Mining-phase tallies recorded on every built artifact, whether or not any fixes were found (an empty-linkage artifact is never an error — see the spec’s Error handling section).
Fields§
§fixes_found: u32Commits the oracle classified as fixes.
links_found: u32(defect_rev, fix_rev, path) links the AG-SZZ engine emitted.
files_blamed: u32Distinct (fix_rev, path) pairs sent through git blame.
lines_considered: u32Deleted pre-image lines examined across all fix hunks.
lines_dropped_cosmetic: u32Of those, lines the AG filter dropped as cosmetic (blank / comment-only).
blame_failures: u32Blame or blob-read failures — skipped, never fatal.
pure_addition_fixes: u32Fix hunks that were pure additions (no deleted lines, so no candidates).
fixes_excluded_tangled: u32Fix commits the tangled-commit guard excluded from linkage entirely
(touched more than szz::TANGLED_MAX_FILES files or changed more
than szz::TANGLED_MAX_CHURN lines).
#[serde(skip)]: a transient mining tally surfaced only in the command
output, never written to the artifact — so DEFECT_FORMAT_VERSION does
not move for a methodology disclosure. Always reloads as 0.
ghost_files_skipped: u32Whole-file-deletion blame targets the ghost guard skipped: a file
removed wholesale contributes only removed lines, which cannot embody
an in-place fix, so blaming them would over-attribute the “defect” to
every past author. Transient, never serialized (see
fixes_excluded_tangled).
Trait Implementations§
§impl Clone for MiningStats
impl Clone for MiningStats
§fn clone(&self) -> MiningStats
fn clone(&self) -> MiningStats
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for MiningStats
§impl Debug for MiningStats
impl Debug for MiningStats
§impl Default for MiningStats
impl Default for MiningStats
§fn default() -> MiningStats
fn default() -> MiningStats
§impl<'de> Deserialize<'de> for MiningStats
impl<'de> Deserialize<'de> for MiningStats
§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 MiningStats
§impl PartialEq for MiningStats
impl PartialEq for MiningStats
§impl Serialize for MiningStats
impl Serialize for MiningStats
impl StructuralPartialEq for MiningStats
Auto Trait Implementations§
impl Freeze for MiningStats
impl RefUnwindSafe for MiningStats
impl Send for MiningStats
impl Sync for MiningStats
impl Unpin for MiningStats
impl UnsafeUnpin for MiningStats
impl UnwindSafe for MiningStats
Blanket Implementations§
impl<T> Allocation for T
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more