Bug? 0 is less than -10
Meta via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Tue Oct 6 09:41:08 PDT 2015
On Tuesday, 6 October 2015 at 14:46:56 UTC, tcak wrote:
> Maybe I am just too stressed out to see the problem.
>
> [code]
> import std.stdio;
>
> void main(){
> size_t dec = 0;
>
> writeln( dec, " ", (dec <= -10), " ", (dec >= 10), " ", ((dec
> <= -10) || (dec >= 10)) );
> }
> [/code]
>
> [output]
> 0 true false true
> [/output]
>
> How is it generating "true" for (dec <= -10) ? Is there a
> special casting or something?
>
> DMD 2.068.2, Ubuntu 64-bit
If you need to mix signed and unsigned values but want to avoid
this issue, you an use the comparison functions from
std.functional.
http://dlang.org/phobos/std_functional.html#.lessThan
More information about the Digitalmars-d-learn
mailing list