Weird integral promotion issue (?)
    Alex Rønne Petersen 
    xtzgzorex at gmail.com
       
    Sat May 12 14:08:03 PDT 2012
    
    
  
Hi,
alexrp at alexrp ~/Projects/tests $ dmd test.d
test.d(9): Error: cannot implicitly convert expression (240) of type int 
to byte
alexrp at alexrp ~/Projects/tests $ cat test.d
import std.stdio, std.traits;
void foo(T)(T val) if (isIntegral!T)
{
}
void main()
{
     foo!byte(0b11110000);
}
Why? I explicitly told the compiler that T == byte. Passing 0b00001111 
works perfectly fine.
-- 
- Alex
    
    
More information about the Digitalmars-d-learn
mailing list