assert(0x814a & 0x8000 == 0x8000 ); Assertion failure
Frits van Bommel
fvbommel at REMwOVExCAPSs.nl
Sat May 30 08:22:06 PDT 2009
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 );
}
More information about the Digitalmars-d-bugs
mailing list