For some more clarity, when I compile the following code: void main() { import std.stdio; byte a; byte b; byte c = a + b; }
I get error: test.d(6): Error: cannot implicitly convert expression (cast(int)a + cast(int)b) of type int to byte Why is D trying to convert bytes and shorts to integers before applying any arithmetic operator? Regards - Puneet