diff options
Diffstat (limited to 'Objects')
-rw-r--r-- | Objects/typeobject.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Objects/typeobject.c b/Objects/typeobject.c index 8c49096..8ef23d5 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -628,7 +628,11 @@ type_richcompare(PyObject *v, PyObject *w, int op) int c; /* Make sure both arguments are types. */ - if (!PyType_Check(v) || !PyType_Check(w)) { + if (!PyType_Check(v) || !PyType_Check(w) || + /* If there is a __cmp__ method defined, let it be called instead + of our dumb function designed merely to warn. See bug + #7491. */ + Py_TYPE(v)->tp_compare || Py_TYPE(w)->tp_compare) { result = Py_NotImplemented; goto out; } |