pub struct ImpactReport {
pub reached: Vec<ImpactNode>,
pub ambiguous_edges: usize,
pub receiver_unknown_edges: usize,
pub truncated: bool,
}Expand description
The result of a resolution-gated impact walk.
Fields§
§reached: Vec<ImpactNode>Symbols transitively affected, sorted, excluding the seed.
ambiguous_edges: usizeCall edges dropped because the name has several definitions and none is
local. Reported rather than hidden: silently truncating a closure is its
own kind of lie, and a non-zero count here means the true impact set may
be larger than reached.
receiver_unknown_edges: usizeCall edges dropped because they are method calls on a receiver of unknown
type (Resolution::ReceiverUnknown). Counted separately from
ambiguous_edges because the cause differs: not “too many candidates”
but “cannot claim any candidate” (#223).
truncated: boolWhether the walk stopped at max_depth with unexplored frontier left.
This means “the set may be incomplete”, not “more definitely exists”: a node reached on the last permitted level was never asked for its own callers, so completeness cannot be claimed either way.
Trait Implementations§
Source§impl Clone for ImpactReport
impl Clone for ImpactReport
Source§fn clone(&self) -> ImpactReport
fn clone(&self) -> ImpactReport
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more