pub fn assemble_unit_info(
groups: &BTreeMap<String, Vec<usize>>,
kinds: &BTreeMap<String, UnitKind>,
unit_tables: &HashMap<String, UnitTable>,
unit_uses: &HashMap<String, Vec<String>>,
unit_consumes: &HashMap<String, Vec<String>>,
unit_flattened: &HashMap<String, HashMap<String, String>>,
unit_consumes_aliases: &HashMap<String, HashMap<String, String>>,
exports_visibility: &HashMap<String, HashMap<String, Visibility>>,
unit_file_index: &HashMap<String, FileDeclIndex>,
) -> BTreeMap<String, UnitInfo>Expand description
v0.29.4: fold the nine parallel per-unit maps into one HashMap<String, UnitInfo>. Assembly is driven by the groups keyset (the authority), so
every group yields exactly one record. Facets that are genuinely optional in
the producer maps (exports/aliases/flattened, and file_index for a
unit with no declarations) default to empty — reproducing the old
.unwrap_or(empty) read semantics as a total field.