6
ma.dPerché c'è un conflitto di moduli?
module ma;
struct A{ }
mb.d
module mb;
import ma : A;
struct B{ }
main.d
import ma;
import mb;
void main(){
A a;
}
Quando compilato:
main.d(6): Error: ma.A at ma.d(3) conflicts with mb.A at mb.d(2)
In mb.d
A
è non un'importazione pubblico, quindi perché l'errore?
Stranamente, il seguente codice viene compilato:
main.d
import mb;
void main(){
A a;
}
Quindi, è questo un altro bug DMD, o ho frainteso come le importazioni e le importazioni pubblici funzionano?
Incredibile !!! – Arlen
@Arlen In questi giorni i bug di dmd vengono corretti rapidamente (come mostra il [changelog] (http://d-programming-language.org/changelog.html), ma ci sono ancora molti bug fastidiosi lasciato in esso. La situazione è molto migliorata rispetto a prima, ma se ti aspetti un compilatore privo di bug a questo punto, rischia di essere deluso. Sta arrivando però. –
Walter [appena unito] (https://github.com/D-Programming-Language/dmd/pull/190) la correzione per questo problema. – eco