Found and fixed another fwd ref problem with circular imports: https://github.com/D-Programming-Language/dmd/pull/5333 This one had nothing to do with C++ namespaces; it showed up for structs and classes, too. This implies that the current design is sound, and a redesign is not necessarily desirable.