On Saturday, 23 August 2014 at 17:37:39 UTC, sigod wrote:
On Saturday, 23 August 2014 at 17:32:15 UTC, Vladimir Panteleev wrote:
No, it is not an rdmd bug.

"etc" is a standard D package name reserved for Phobos, the standard library. It is the same for "std" and "core".

Please, point us directly to a documentation where it says that this words reserved.

I don't think this limitation is documented anywhere currently. The problem is that rdmd needs a way to know which modules will be present in phobos.lib to avoid compiling and linking them twice. Currently, it considers that "std", "etc" and "core" are package names used by the standard library, not user code. The alternative would be to e.g. make rdmd contain the exact list of modules in Phobos (which is unmaintainable, and would still result in similar errors when the full module name clashes), or make rdmd check the filesystem location of each imported module (which is not trivial and may require additional configuration on non-standard D installations, thus breaking any existing ones).

Reply via email to