Ellery Newcomer Wrote:

> erm, wut?
> 
> On 10/28/2010 12:56 PM, Jesse Phillips wrote:
> >
> > I see no reason for this or byte&  byte to return an int. Since this would 
> > only cause C code to not compile, why not change it?

This should compile:

void main() {
   byte a = 5;
   byte b = 10;
   short c = 9;

   auto i = 5 & 10;
   auto j = ~c

   assert(typeof(i) == typeid(byte));
   assert(typeof(j) == typeid(short));
}

Because C code will not behave differently and since it is a smaller type it 
can only cause C code not to compile. And in reality it the change should only 
effect D code that uses type inference, but will not result in any broken code 
since byte is implicitly an int.

Reply via email to