pub struct ImpactRow {
pub file: String,
pub hop: u32,
pub via_count: u32,
pub ambiguous_count: u32,
pub top_symbols: Vec<String>,
pub top_symbols_more: usize,
pub score: f64,
pub heuristic_count: u32,
pub heuristic: bool,
pub iface_via: Vec<String>,
pub from_lines: Vec<(&'static str, usize)>,
pub infra: bool,
}Expand description
One row of an impact model: a file in the blast radius and its metrics.
Fields§
§file: StringThe file value.
hop: u32The hop value.
via_count: u32The via count value.
ambiguous_count: u32The ambiguous count value.
top_symbols: Vec<String>The top symbols value.
top_symbols_more: usizeThe top symbols more value.
score: f64The score value.
heuristic_count: u32“heuristic” is a property of how the file was REACHED, not of the edges
that reached it: one precise or ambiguous hit makes the file an ordinary
affected file no matter how many guesses also point at it. Only a file
reached EXCLUSIVELY by guesses is flagged. On a precise row neither this
nor heuristic is emitted in --json.
heuristic: boolThe heuristic value.
iface_via: Vec<String>Present only on a row the interface hop actually reached, empty (and
omitted from --json) on every other row.
from_lines: Vec<(&'static str, usize)>One representative referencing line per EDGE KIND that actually reached
this file, in the fixed order direct, ctor-di, heuristic, iface; a
kind that never contributed is absent, and a row no kind could attribute
a line to carries no entry at all. The file is the row’s own file –
every edge folded into one row is an edge OUT OF that file – so a line
alone locates the site.
infra: boolSet only on a hub file. The row is still an affected file; this says the
walk stopped THERE rather than continuing through it. false means the
key is absent in --json.
Trait Implementations§
impl StructuralPartialEq for ImpactRow
Auto Trait Implementations§
impl Freeze for ImpactRow
impl RefUnwindSafe for ImpactRow
impl Send for ImpactRow
impl Sync for ImpactRow
impl Unpin for ImpactRow
impl UnsafeUnpin for ImpactRow
impl UnwindSafe for ImpactRow
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<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