fn group_calls<'a>(
index: &'a ProjectIndex,
edges: impl Iterator<Item = &'a CallEdge>,
pick: impl Fn(&'a CallEdge) -> &'a SymbolKey,
) -> Vec<CallRelation<'a>>Expand description
Group edges by the key returned by pick, attach each grouped symbol’s
definition, and collect the call sites — the shared core of incoming and
outgoing calls. Groups with no indexed definition are dropped (defensive;
every call-edge endpoint is an index symbol by construction). Groups are
ordered by definition position for a stable, top-to-bottom listing.