On Thursday, 21 January 2016 at 00:43:13 UTC, David Nadlinger wrote:
If you want to split up the interface to a C++ namespace among different modules, then the different symbols will *always* reside in different fully qualified scopes – with or without additional scopes being introduced by extern(C++)!

This is the nub of the problem, and it's been stated by several people in several different ways in this thread.

It means that a C++ namespace which is a single scope, is mapped into one scope per module in D. The C++ namespace scope has been fragmented to make it consistent with D's module philosophy. The result is natural neither for C++ nor for D.

Reply via email to