https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91027
--- Comment #6 from ibuclaw at gcc dot gnu.org --- (In reply to Jan Hubicka from comment #2) > > I am not really fluent with d. Does d have something like ODR? > If it doesn't then we need to arrange free_lang data to not consider d > types to be C++ ODR types. > > The type seems to not be seen by free lang data which by itself is > confusing. > In principle, yes, D does have ODR. Each source file corresponds to one module that provides a namespace for all symbols defined within, and each module should be unique in the entire compilation unit (module collision checking at runtime asserts that this is the case).