On Sunday, 31 January 2016 at 01:12:11 UTC, Carl Sturtivant wrote:
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.
In fact, if you're going to bring in a scope to represent a
namespace, that's what it needs to be a (singular) scope. Not to
bring in many identical but distinct scopes.
The present design is falling between two stools. They are to do
the above or to just link mangled according to the namespace with
no scope special C++ derived scope(s).