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.

Reply via email to