'int' is enough for 'length' to migrate code from x86 to x64

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Thu Nov 20 13:28:37 PST 2014


On 11/20/2014 7:52 AM, H. S. Teoh via Digitalmars-d wrote:
> What *could* be improved, is the prevention of obvious mistakes in
> *mixing* signed and unsigned types. Right now, D allows code like the
> following with no warning:
>
> 	uint x;
> 	int y;
> 	auto z = x - y;
>
> BTW, this one is the same in essence as an actual bug that I fixed in
> druntime earlier this year, so downplaying it as a mistake people make
> 'cos they confound computer math with math math is fallacious.

What about:

     uint x;
     auto z = x - 1;

?



More information about the Digitalmars-d mailing list