[Python-checkins] r81736 - in python/trunk: Lib/test/test_descr.py Misc/NEWS Objects/typeobject.c

mark.dickinson python-checkins at python.org
Sat Jun 5 13:52:24 CEST 2010


Author: mark.dickinson
Date: Sat Jun  5 13:52:24 2010
New Revision: 81736

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

Modified:
   python/trunk/Lib/test/test_descr.py
   python/trunk/Misc/NEWS
   python/trunk/Objects/typeobject.c

Modified: python/trunk/Lib/test/test_descr.py
==============================================================================
--- python/trunk/Lib/test/test_descr.py	(original)
+++ python/trunk/Lib/test/test_descr.py	Sat Jun  5 13:52:24 2010
@@ -4621,7 +4621,6 @@
         deprecations += [
             ("classic (int|long) division", DeprecationWarning),
             ("coerce.. not supported", DeprecationWarning),
-            ("Overriding __cmp__ ", DeprecationWarning),
             (".+__(get|set|del)slice__ has been removed", DeprecationWarning)]
     with test_support.check_warnings(*deprecations):
         # Run all local test cases, with PTypesLongInitTest first.

Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS	(original)
+++ python/trunk/Misc/NEWS	Sat Jun  5 13:52:24 2010
@@ -12,6 +12,9 @@
 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
   objects.  (1) The comparison could incorrectly return True in some cases
   (2**53+1 == complex(2**53) == 2**53), breaking transivity of equality.

Modified: python/trunk/Objects/typeobject.c
==============================================================================
--- python/trunk/Objects/typeobject.c	(original)
+++ python/trunk/Objects/typeobject.c	Sat Jun  5 13:52:24 2010
@@ -3723,7 +3723,6 @@
 }
 
 #define OVERRIDES_HASH(x)       overrides_name(x, "__hash__")
-#define OVERRIDES_CMP(x)        overrides_name(x, "__cmp__")
 #define OVERRIDES_EQ(x)         overrides_name(x, "__eq__")
 
 static void
@@ -3869,12 +3868,6 @@
                 if (base->tp_hash &&
                                 (base->tp_hash != PyObject_HashNotImplemented) &&
                                 !OVERRIDES_HASH(type)) {
-                    if (OVERRIDES_CMP(type)) {
-                        PyErr_WarnPy3k("Overriding "
-                          "__cmp__ blocks inheritance "
-                          "of __hash__ in 3.x",
-                          1);
-                    }
                     if (OVERRIDES_EQ(type)) {
                         PyErr_WarnPy3k("Overriding "
                           "__eq__ blocks inheritance "


More information about the Python-checkins mailing list