Weird const behavior
Marko
marko at gmail.com
Thu Dec 20 17:06:02 UTC 2018
On Thursday, 20 December 2018 at 15:15:42 UTC, Andrea Fontana
wrote:
> On Thursday, 20 December 2018 at 14:49:10 UTC, Marko wrote:
>> But is this right? I mean if they are equal shouldn't they
>> have the same behavior?
>
> I don't think so:
>
> float a = 1.0;
> long b = 1;
>
> writeln(a == b);
> writeln(a/2 == b/2);
Of course you can play around:
uint positive_one = 1;
short minus_one = -1;
uint max_int = 4294967295;
writeln(minus_one > positive_one); // true
writeln(minus_one == max_int); // true
Because promotion and implicit casting. But like I said this is
sometimes confusion, and on the OP example it's worth.
Marko.
More information about the Digitalmars-d-learn
mailing list