On Monday, January 5, 2015 11:31:05 PM UTC-5, Tony Kelman wrote:
>
> Yes, actually. If you're on a 64 bit machine, then the integer literal "0"
> is an Int64. So int64(0) - 0x12345678 promotes and does the subtraction in
> Int64. -0x12345678 wraps around to the unsigned integer 0xedcba988 which is
> greater than typemax(Int32). So the value is too large to represent as a
> signed Int32.
>
See also the discussion in
https://github.com/JuliaLang/julia/issues/9292
about whether Int - Uint should promote to Uint or Int.