Compiler bug..?

Regan Heath regan at netmail.co.nz
Mon Oct 22 04:14:54 PDT 2007


Simen Haugen wrote:
> static if( 1 ) {
>     int var;
> }
> 
> static if( 1 ) {
>     float var; // Error, var already defined. As expected.
> }
> 
> 
> But if we do this....
> 
> static if(is(int T == int)) {
>     writefln("T: ", typeid(T)); // T: int
> }
> 
> static if(is(float T == float)) {
>     writefln("T: ", typeid(T)); // T: int.... Where's my float?
> }
> 
> Shouldn't this be a compiler error, or at least a warning? 

Which version of DMD are you using?

With 2.005 I get an error of "Error: declaration T is already defined" 
on the 2nd static if line.

Regan



More information about the Digitalmars-d mailing list