Compiler bug: Incorrect line in error message

Shachar Shemesh shachar at weka.io
Sun Jan 14 12:36:44 UTC 2018


Reported as issue #18236

It is possible this is a duplicate of issue #3773, from 8 years ago 
(opened on D1).

On 14/01/18 14:24, Shachar Shemesh wrote:
> Please consider the following program:
> 
> struct V {
>      int a;
> }
> 
> struct S {
>      enum A = V(12); // Line 6
> }
> 
> void main() {
>      int b = cast(int)S.A; // Line 10
> }
> 
> It fails to compile:
> test2.d(6): Error: cannot cast expression V(12) of type V to int
> 
> Everything about this error message is correct except the line number. 
> It should be line 10, not line 6. The problem is where the incorrect 
> cast is performed, not where the enum is defined.
> 
> I just spent three hours on this problem (thanks to Idan. Otherwise I'd 
> spend much much more).
> 
> Shachar



More information about the Digitalmars-d mailing list