Fix __hash__ in functools.cmp_to_key() to work with collections.Hashable.
diff --git a/Lib/functools.py b/Lib/functools.py
index 098f6b6..b2bcc21 100644
--- a/Lib/functools.py
+++ b/Lib/functools.py
@@ -111,8 +111,7 @@
             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 c50336e..97d7524 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 @@
         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 @@
 
 def test_main(verbose=None):
     test_classes = (
-        TestCmpToKey,
         TestPartial,
         TestPartialSubclass,
         TestPythonPartial,
         TestUpdateWrapper,
         TestTotalOrdering,
+        TestCmpToKey,
         TestWraps,
         TestReduce,
         TestLRU,