Issue 2235: Py3k warnings are now emitted for classes that will no longer inherit a__hash__ implementation from a parent class in Python 3.x. The standard library and test suite have been updated to not emit these warnings.
diff --git a/Lib/test/test_copy.py b/Lib/test/test_copy.py
index d2899bd..be334cc 100644
--- a/Lib/test/test_copy.py
+++ b/Lib/test/test_copy.py
@@ -435,6 +435,7 @@
return (C, (), self.__dict__)
def __cmp__(self, other):
return cmp(self.__dict__, other.__dict__)
+ __hash__ = None # Silence Py3k warning
x = C()
x.foo = [42]
y = copy.copy(x)
@@ -451,6 +452,7 @@
self.__dict__.update(state)
def __cmp__(self, other):
return cmp(self.__dict__, other.__dict__)
+ __hash__ = None # Silence Py3k warning
x = C()
x.foo = [42]
y = copy.copy(x)
@@ -477,6 +479,7 @@
def __cmp__(self, other):
return (cmp(list(self), list(other)) or
cmp(self.__dict__, other.__dict__))
+ __hash__ = None # Silence Py3k warning
x = C([[1, 2], 3])
y = copy.copy(x)
self.assertEqual(x, y)
@@ -494,6 +497,7 @@
def __cmp__(self, other):
return (cmp(dict(self), list(dict)) or
cmp(self.__dict__, other.__dict__))
+ __hash__ = None # Silence Py3k warning
x = C([("foo", [1, 2]), ("bar", 3)])
y = copy.copy(x)
self.assertEqual(x, y)