digitalmars.D.bugs - assert(0x814a & 0x8000 == 0x8000 ); Assertion failure
- test (3/3) May 30 2009 void main(){
- Frits van Bommel (11/14) May 30 2009 That's because it's equivalent to
test wrote:
void main(){
assert(0x814a & 0x8000 == 0x8000 );
}
That's because it's equivalent to
void main(){
assert(0x814a & (0x8000 == 0x8000) );
}
the right side of the & is 'bool true', which is converted to 'int 1', which
has
none of the bits in 0x814a set...
You probably meant to do this:
void main(){
assert((0x814a & 0x8000) == 0x8000 );
}
May 30 2009








Frits van Bommel <fvbommel REMwOVExCAPSs.nl>