[mod.d] module mod; private int bar; [main.d] module main; import mod; void main(){bar = 0;} gives dmd compiler output: "main.d: module main mod.bar is private" this message must be improved. it should at least provide a line number to be parsable as every other error message (every other besides the other ones that are broke ;)
I don't know how the compiler works, but here's my guess on the source of the problem (and its solution). src\dmd\dsymbol.c, line 667 (DMD 1.028): error("%s is private", d->toPrettyChars()); should be: error(loc, "%s is private", d->toPrettyChars());
Fixed DMD1.032
I dont know if it was fixed in the previous version but i know for sure it is still the same bug in 2.018, so i reopen it.
This has actually never worked on any version of DMD. Downgrading to critical. The patch still works, though (it is line 847 of dsymbol.c in DMD2.047.
http://www.dsource.org/projects/dmd/changeset/510