pub fn cpp_reconcile_group(
cpp: &dyn CppSource,
key: &CppReconcileGroupKey,
candidates: &CppReconcileCandidates,
keep_going: &dyn Fn() -> bool,
on_candidate: &dyn Fn(),
) -> Option<HashMap<String, Arc<CppReconciledDefinitionIndex>>>Expand description
Reconcile every candidate one group key admits, grouped by the canonical
fq_name each re-keyed definition belongs under.
Deliberately not a workspace-wide index: building one would need a full
declaration scan, and a warm forward lookup must not trigger one
(tests/analyzer_persistence.rs’s candidate-bounded contract). Instead each
group reconciles only the candidates the persisted terminal identifier
index already offers, which is the same bounded lookup the ordinary
resolution path uses.
A definition whose reconciled identity equals its provisional one (the
overwhelming majority, including genuine ns1::ns2::Klass::method namespace
chains) contributes nothing.
None means keep_going went false mid-scan. Nothing may be memoized
then; see cpp_reconcile_candidates.