Issue #8627: remove out-of-date warning about overriding __cmp__

This commit is contained in:
Mark Dickinson 2010-06-05 11:52:24 +00:00
parent a441287f79
commit 23f0d6b57b
3 changed files with 3 additions and 8 deletions

View File

@ -4621,7 +4621,6 @@ def test_main():
deprecations += [ deprecations += [
("classic (int|long) division", DeprecationWarning), ("classic (int|long) division", DeprecationWarning),
("coerce.. not supported", DeprecationWarning), ("coerce.. not supported", DeprecationWarning),
("Overriding __cmp__ ", DeprecationWarning),
(".+__(get|set|del)slice__ has been removed", DeprecationWarning)] (".+__(get|set|del)slice__ has been removed", DeprecationWarning)]
with test_support.check_warnings(*deprecations): with test_support.check_warnings(*deprecations):
# Run all local test cases, with PTypesLongInitTest first. # Run all local test cases, with PTypesLongInitTest first.

View File

@ -12,6 +12,9 @@ What's New in Python 2.7 Release Candidate 1?
Core and Builtins Core and Builtins
----------------- -----------------
- Issue #8627: Remove bogus "Overriding __cmp__ blocks inheritance of
__hash__ in 3.x" warning.
- Issue #8748: Fix two issues with comparisons between complex and integer - Issue #8748: Fix two issues with comparisons between complex and integer
objects. (1) The comparison could incorrectly return True in some cases objects. (1) The comparison could incorrectly return True in some cases
(2**53+1 == complex(2**53) == 2**53), breaking transivity of equality. (2**53+1 == complex(2**53) == 2**53), breaking transivity of equality.

View File

@ -3723,7 +3723,6 @@ overrides_name(PyTypeObject *type, char *name)
} }
#define OVERRIDES_HASH(x) overrides_name(x, "__hash__") #define OVERRIDES_HASH(x) overrides_name(x, "__hash__")
#define OVERRIDES_CMP(x) overrides_name(x, "__cmp__")
#define OVERRIDES_EQ(x) overrides_name(x, "__eq__") #define OVERRIDES_EQ(x) overrides_name(x, "__eq__")
static void static void
@ -3869,12 +3868,6 @@ inherit_slots(PyTypeObject *type, PyTypeObject *base)
if (base->tp_hash && if (base->tp_hash &&
(base->tp_hash != PyObject_HashNotImplemented) && (base->tp_hash != PyObject_HashNotImplemented) &&
!OVERRIDES_HASH(type)) { !OVERRIDES_HASH(type)) {
if (OVERRIDES_CMP(type)) {
PyErr_WarnPy3k("Overriding "
"__cmp__ blocks inheritance "
"of __hash__ in 3.x",
1);
}
if (OVERRIDES_EQ(type)) { if (OVERRIDES_EQ(type)) {
PyErr_WarnPy3k("Overriding " PyErr_WarnPy3k("Overriding "
"__eq__ blocks inheritance " "__eq__ blocks inheritance "