why implicitly allowing compare ubyte and byte sucks

Walter Bright newshound1 at digitalmars.com
Thu Jun 11 13:05:14 PDT 2009


davidl wrote:
> It seems that comparing two different operands with different size makes 
> no sense. The compiler should issue an error against that.

Consider:

    byte b;
    if (b == 1)

here you're comparing two different sizes, a byte and an int. 
Disallowing such (in its various incarnations) is a heavy burden, as the 
user will have to insert lots of ugly casts.

There really isn't any escaping from the underlying representation of 
2's complement arithmetic with its overflows, wrap-arounds, sign 
extensions, etc.



More information about the Digitalmars-d mailing list