ma.d
module ma;
struct A{ }
mb.d
module mb;
import ma : A;
struct B{ }
main.d
import ma;
import mb;
void main(){
A a;
}
When compiled:
main.d(6): Error: ma.A at ma.d(3) conflicts with mb.A at mb.d(2)
In mb.d A is not a public import, so why the error?
Oddly enough, the following code compiles:
main.d
import mb;
void main(){
A a;
}
So, is this another DMD bug, or have I misunderstood how imports and public imports work?
Issue 314 – [module] Static, renamed, and selective imports are always public