2011-12-29 32 views
6

ma.dTại sao có xung đột mô-đun?

module ma; 

struct A{ } 

mb.d

module mb; 
import ma : A; 

struct B{ } 

main.d

import ma; 
import mb; 

void main(){ 

    A a; 
} 

Khi biên soạn:

main.d(6): Error: ma.A at ma.d(3) conflicts with mb.A at mb.d(2)

Trong mb.dAkhông nhập công khai, vậy tại sao lỗi?

kỳ quặc là những đoạn mã sau biên dịch:

main.d

import mb; 

void main(){ 

    A a; 
} 

Vì vậy, đây là một lỗi DMD, hoặc tôi đã hiểu lầm như thế nào nhập khẩu và nhập khẩu công việc?

Trả lời

5
+1

Unbelievable !!! – Arlen

+1

@Arlen Các lỗi trong dmd đang được sửa chữa với tốc độ nhanh chóng trong những ngày này (như [changelog] (http://d-programming-language.org/changelog.html) cho thấy), nhưng vẫn còn rất nhiều lỗi gây phiền nhiễu còn lại trong đó. Tình hình là tốt hơn rất nhiều so với trước đây, nhưng nếu bạn đang mong đợi một trình biên dịch không có lỗi tại thời điểm này, bạn có thể sẽ bị từ chối. Mặc dù nó đang đến đó. –

+1

Walter [vừa hợp nhất] (https://github.com/D-Programming-Language/dmd/pull/190) bản sửa lỗi cho vấn đề này. – eco

Các vấn đề liên quan