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/UserString.py b/Lib/UserString.py
index 4460797..726b3f7 100755
--- a/Lib/UserString.py
+++ b/Lib/UserString.py
@@ -150,8 +150,10 @@
warnpy3k('the class UserString.MutableString has been removed in '
'Python 3.0', stacklevel=2)
self.data = string
- def __hash__(self):
- raise TypeError, "unhashable type (it is mutable)"
+
+ # We inherit object.__hash__, so we must deny this explicitly
+ __hash__ = None
+
def __setitem__(self, index, sub):
if isinstance(index, slice):
if isinstance(sub, UserString):