The same expression twice gets different results

code:

import std.stdio;

bool Fn(float i){ return true; }
const bool b = Fn(cast(int)0);

static if(b) bool Fn(int i){ return false; }
const bool c = Fn(cast(int)0);

void main()
{
  writef("%s\n", b);
  writef("%s\n", c);
}

output:

true
false


Reply via email to