Something odd seems to have happened here. Both a and b now point to
same structure_type #ref6. But we actually have two structure_types that
have ref="ref6", both point to specification="#ref3". And both
structure_types inside namespace A and B have ref="ref3".
That is sharing happening!
Did dwarf_output mangle things up, or am I misinterpreting the output
Nope, you are right.
inline dwarf_output_collector (bool ignore = true) // XXX
That flag is saying to ignore context for the equal-enough.
So this oversharing is what we expect to see right now.
I only recall vaguely, but I think I decided that all sharing all the time
mod was the think we should debug first, so that we get all the kinks
worked out of recognizing all true duplicates without fail.