int *suppress_missing_attribute);
extern PyObject* _Py_type_getattro(PyTypeObject *type, PyObject *name);
+extern PyObject* _Py_BaseObject_RichCompare(PyObject* self, PyObject* other, int op);
+
extern PyObject* _Py_slot_tp_getattro(PyObject *self, PyObject *name);
extern PyObject* _Py_slot_tp_getattr_hook(PyObject *self, PyObject *name);
# test that object has a __dir__()
self.assertEqual(sorted([].__dir__()), dir([]))
+ def test___ne__(self):
+ self.assertFalse(None.__ne__(None))
+ self.assertTrue(None.__ne__(0))
+ self.assertTrue(None.__ne__("abc"))
+
def test_divmod(self):
self.assertEqual(divmod(12, 7), (1, 5))
self.assertEqual(divmod(-12, 7), (-2, 2))
--- /dev/null
+Fix None.__ne__(None) returning NotImplemented instead of False
0, /*tp_doc */
0, /*tp_traverse */
0, /*tp_clear */
- 0, /*tp_richcompare */
+ _Py_BaseObject_RichCompare, /*tp_richcompare */
0, /*tp_weaklistoffset */
0, /*tp_iter */
0, /*tp_iternext */
return res;
}
+PyObject*
+_Py_BaseObject_RichCompare(PyObject* self, PyObject* other, int op)
+{
+ return object_richcompare(self, other, op);
+}
+
static PyObject *
object_get_class(PyObject *self, void *closure)
{