Why are unsigned to signed conversions implicit and don't emit a warning?

bearophile bearophileHUGS at lycos.com
Sun Apr 10 17:42:03 PDT 2011


Andrej Mitrovic:

> I just had a little bug in my code. In the WindowsAPI, there's this alias:
> 
> alias ubyte BYTE;
> 
> Unfortunately I didn't check for this, and I erroneously assumed BYTE was a signed value (blame it on my lack of coffee).

I and Don have asked (in Bugzilla and elsewhere) to change the built-in names into sbyte and ubyte, to avoid the common confusions between signed and unsigned bytes in D, but Walter was deaf to this.


> But what really surprises me is that these unsigned to signed conversions happen implicitly. I didn't even get a warning, even though I have all warning switches turned on. 

Add your vote here (I have voted this), a bug report from 07 2006, but Walter doesn't like this warning, and warnings in general too:
http://d.puremagic.com/issues/show_bug.cgi?id=259

Bye,
bearophile


More information about the Digitalmars-d-learn mailing list