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