writefln + unsigned numbers

Johan Granberg lijat.meREM at OVEgmail.com
Mon Apr 16 14:40:45 PDT 2007


david wrote:

> Hello,
> 
> when playing with an array and indices that are later shifted to < 0,
> I found the following rather not intuitive behaviour:
> 
> import std.stdio;
> void main()
> {
> uint j;
> writefln(j - 2);
> }
> 
> results in 4294967294.
> I'm aware of the construction of uint,
> but shouldn't j be automatically converted
> to a larger type providing negative numbers (long) ?
> 
> david

Why should it, that would cause even more confusion. In my opinion it should
either be illegal (and caught at compile time) or stay as is.


More information about the Digitalmars-d-learn mailing list