On Wednesday, 5 June 2013 at 19:49:05 UTC, H. S. Teoh wrote:
Oh? I thought the compiler would be smart enough to look for
"std/algorithm.d" when you say "import std.algorithm", and to look for std/algorithm/*.d when there's trailing stuff following "std.algorithm".

import testmod.test;
import testmod;

test2.d(2): Error: can only import from a module, not from package testmod Error: module testmod from file testmod.d conflicts with package name testmod

or if you reverse the order

test2.d(2): Error: can only import from a module, not from a member of module testmod. Did you mean `import testmod : test`?


The filenames are easy to sort out (and don't necessarily matter anyway, since contrary to popular belief, they don't aren't required to match the module name), but the compiler assigns them a name (the same name) and then considers it a kind of type mismatch between package and module.

Reply via email to