On Thursday, 4 February 2016 at 23:51:57 UTC, anonymous wrote:
We do have a lot of bindings to C libraries, though. When there's a wrong alias in one of them, you have the same scenario.

On 05.02.2016 00:47, tsbockman wrote:
Even so, I think that qualifies as a compiler bug or a hole in the D spec.

Can anything be done about it? The compiler simply has no way to verify declarations, has it?

The compiler cannot (in the general case) verify that `extern(C)` declarations are *correct*. What it could do, though, is verify that they are *consistent*.

If the same `extern(C)` symbol is declared multiple places in the D source code for a program, the compiler should issue at least a warning if the D signatures don't agree with each other.

Reply via email to