On Monday, 12 January 2015 at 18:11:35 UTC, bearophile wrote:
D modules can contain lot of stuff, like variables, constants,
enums, types, structs, etc. And you usually put more than one
class in each D module. Also D class names should be
capitalized (like "Project").
When I do this, it works, but I cannot make it work with
namespace unfortunately.
What namespace? D has modules, unlike C++. In general it's a
bad idea to have inside a module a name (like a variable name
or struct name) equal to the module name, because it causes
confusion.
Please show what doesn't work.
Bye,
bearophile
With namespace, I mean like "core.sync.mutex", not just "mutex".
As you will find lots of examples in even in Phobos, there are so
many name duplications.
Example: core.sync.mutex.Mutex, core.thread.Thread
Like it or don't, it is ugly. And I am sure, those modules are
designed in that way, because of not being able to what I am
asking about. Because D can contain many things doesn't mean it
is any better, I am using it for many years already.