August 07, 2004 Object typeinfo bug with null and ==, != | ||||
|---|---|---|---|---|
| ||||
I think there's a bug in ti_C.d in TypeInfo_C.equals() and compare(). The
line
return o1 == o2 || (o1 && o1.opCmp(o2) == 0);
should be something like
return o1 is o2 || (o1 && o1.opEquals(o2) != 0) || (o1 && o1.opCmp(o2) ==
0);
since o1 == o2 will seg-v if o1 is null.
The same goes for compare() with the code
// Regard null references as always being "less than"
if (o1 != o2)
It should be !==. Either that or the comment should be something like
// Regard null references as seg-v
Then again it always seemed wierd that x != null will seg-v if x is null. Maybe that is what needs attention rather than ti_C.d
-Ben
| ||||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply