"shift by 64 is outside the range 0..31" dmd x64

via Digitalmars-d digitalmars-d at puremagic.com
Thu Jul 9 03:05:10 PDT 2015


On Thursday, 9 July 2015 at 09:57:16 UTC, sdv wrote:
>
>
> ulong vv = 1 << 60 ;
>
>
> "Error: shift by 60 is outside the range 0..31" ??

Try:

     ulong vv = 1UL << 60;

Integer literals are of type `int` by default.

The compiler does sometimes use type information in variable 
initializations, it could potentially do that in this case, too. 
If you want, you can file an enhancement request here: 
https://issues.dlang.org/


More information about the Digitalmars-d mailing list