Issue 2235: __hash__ is once again inherited by default, but inheritance can be blocked explicitly so that collections.Hashable remains meaningful
diff --git a/Lib/sets.py b/Lib/sets.py
index 99ee931..b1743da 100644
--- a/Lib/sets.py
+++ b/Lib/sets.py
@@ -439,10 +439,8 @@
def __setstate__(self, data):
self._data, = data
- def __hash__(self):
- """A Set cannot be hashed."""
- # We inherit object.__hash__, so we must deny this explicitly
- raise TypeError, "Can't hash a Set, only an ImmutableSet."
+ # We inherit object.__hash__, so we must deny this explicitly
+ __hash__ = None
# In-place union, intersection, differences.
# Subtle: The xyz_update() functions deliberately return None,