summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Lib/functools.py3
-rw-r--r--Lib/test/test_functools.py4
-rw-r--r--Misc/NEWS2
3 files changed, 6 insertions, 3 deletions
diff --git a/Lib/functools.py b/Lib/functools.py
index 098f6b6fac..b2bcc21f48 100644
--- a/Lib/functools.py
+++ b/Lib/functools.py
@@ -111,8 +111,7 @@ def cmp_to_key(mycmp):
return mycmp(self.obj, other.obj) >= 0
def __ne__(self, other):
return mycmp(self.obj, other.obj) != 0
- def __hash__(self):
- raise TypeError('hash not implemented')
+ __hash__ = None
return K
try:
diff --git a/Lib/test/test_functools.py b/Lib/test/test_functools.py
index c50336e3e0..97d7524f59 100644
--- a/Lib/test/test_functools.py
+++ b/Lib/test/test_functools.py
@@ -1,4 +1,5 @@
import functools
+import collections
import sys
import unittest
from test import support
@@ -510,6 +511,7 @@ class TestCmpToKey(unittest.TestCase):
key = functools.cmp_to_key(mycmp)
k = key(10)
self.assertRaises(TypeError, hash, k)
+ self.assertNotIsInstance(k, collections.Hashable)
class TestTotalOrdering(unittest.TestCase):
@@ -718,12 +720,12 @@ class TestLRU(unittest.TestCase):
def test_main(verbose=None):
test_classes = (
- TestCmpToKey,
TestPartial,
TestPartialSubclass,
TestPythonPartial,
TestUpdateWrapper,
TestTotalOrdering,
+ TestCmpToKey,
TestWraps,
TestReduce,
TestLRU,
diff --git a/Misc/NEWS b/Misc/NEWS
index f8f90d02dc..13b42e2b1a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -141,6 +141,8 @@ Library
- logging: don't define QueueListener if Python has no thread support.
+- functools.cmp_to_key() now works with collections.Hashable().
+
- Issue #11277: mmap.mmap() calls fcntl(fd, F_FULLFSYNC) on Mac OS X to get
around a mmap bug with sparse files. Patch written by Steffen Daode Nurpmeso.