6
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;
}
當編譯:
main.d(6): Error: ma.A at ma.d(3) conflicts with mb.A at mb.d(2)
在mb.d
A
是不是一個公共導入,爲什麼這個錯誤?
奇怪的是,下面的代碼編譯:
main.d
import mb;
void main(){
A a;
}
那麼,這又是一個DMD錯誤,或者有我誤解進口和公衆的進口是如何工作的?
難以置信! – Arlen 2011-12-29 23:14:40
@Arlen現在,dmd中的錯誤正在以一種快速的速度得到修復(如[changelog](http://d-programming-language.org/changelog.html)所示),但仍有許多令人煩惱的錯誤留在裏面。情況比以前好很多,但如果您在此期待一個無缺陷的編譯器,您很可能會失望。它雖然到達那裏。 – 2011-12-30 10:54:54
沃爾特[剛剛合併](https://github.com/D-Programming-Language/dmd/pull/190)此問題的修復。 – eco 2011-12-30 19:41:28