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).