Jarrett Billingsley wrote:
The only thing is: why doesn't _this_ fail, then?
int x, y, z;
z = x + y;
I'm sure it's out of convenience, but what about in ten, fifteen years
when 32-bit architectures are a historical relic and there's still
this hole in the type system?
Well 32-bit architectures may be a historical relic but I don't think
32-bit integers are. And I think it would be too disruptive a change to
promote results of arithmetic operation between integers to long.
The same argument applies for the implicit conversions between int and
uint. If you're going to do that, why not have implicit conversions
between long and ulong on 64-bit platforms?
This is a different beast. We simply couldn't devise a satisfactory
scheme within the constraints we have. No simple solution we could think
of has worked, nor have a number of sophisticated solutions. Ideas would
be welcome, though I need to warn you that the devil is in the details
so the ideas must be fully baked; too many good sounding high-level
ideas fail when analyzed in detail.
Andrei