https://issues.dlang.org/show_bug.cgi?id=15086
--- Comment #11 from Andrei Alexandrescu <and...@erdani.com> --- (In reply to Jonathan Marler from comment #10) > > I think at the least we can do a vastly better job at issuing error > > messages. > > I'm limiting focus to this issue alone. Do you have an idea on a way to > improve the error message for this case? > > CURRENT BEHAVIOR > ---------------------------- > dmd -c foo.d bar.d > Error: module baz from file bar.d must be imported with 'import baz;' > > PROPOSED BEHAVIOR > ---------------------------- > dmd -c foo.d bar.d > Error: module baz from file bar.d must be imported with 'import baz;' or > must be compiled separately To make clear what the use case is, I'll paste the files again: foo.d: ---- import bar; ---- bar.d: ---- module baz; /* not bar */ ---- In this case, attempting to compile them together would be mistaken. I suggest: Error: file bar.d masquerades as module `baz`, so it must be compiled separately or imported with `import baz;` This way we clarify where the discrepancy is and even mildly disapprove of it. It's also clear that if no mismatch, this problem would disappear. --