Can't add ubytes together to make a ubyte... bug or feature?
Soviet Friend via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Tue Jan 19 14:12:06 PST 2016
I just attempted to add one ubyte to another and store the result
in a ubyte but apparently ubytes get converted to ints when being
added... and converting what becomes an int becomes impossible to
store in a ubyte without an explicit cast...
ubyte a, b;
ubyte c = a + b; // Error: cannot implicitly convert expression
(cast(int)a + cast(int)b) of type int to ubyte
On principal I'm not casting to fix this. I don't care if my
computer needs to do math on a 4 byte basis, I'm not writing
assembly. I'm really hoping this is a bug because trying to use
any type other than ints is going to make for some really ugly
code otherwise...
Can I prevent the initial implicit casts?
On the topic of complaining about casting... array lengths as
ulongs is painful... any chance of an array[].lengthi being a
thing?
More information about the Digitalmars-d-learn
mailing list