pub fn dynamic_edges(
nodes: &[Node],
trait_impls: &[TraitImpl],
all_imports: &[Reference],
roots: &[ModuleRoot],
) -> Vec<Edge>Expand description
Dynamic-dispatch fan-out edges: for every impl block naming a trait the
corpus defines, trait_method -> impl_method (Calls, Dynamic) for each
method the impl defines under a same-named trait method. Conservative
over-approximation — every impl is assumed reachable through the trait —
which is exactly why the edges carry the distinct Dynamic evidence.
Pairing rule: the impl block names the trait (same file/module, or a
named import) and the method names match.