Commit d5018512 authored by Raymond Hettinger's avatar Raymond Hettinger

Since instances of _TemporarilyImmutableSet are always thrown away

immediately after the comparison, there in no use in caching the hashcode.
The test, 'if self._hashcode is None', never fails.  Removing the caching
saves a few lines and a little time.
parent 045e51a9
...@@ -471,13 +471,9 @@ class _TemporarilyImmutableSet(BaseSet): ...@@ -471,13 +471,9 @@ class _TemporarilyImmutableSet(BaseSet):
# Wrap a mutable set as if it was temporarily immutable. # Wrap a mutable set as if it was temporarily immutable.
# This only supplies hashing and equality comparisons. # This only supplies hashing and equality comparisons.
_hashcode = None
def __init__(self, set): def __init__(self, set):
self._set = set self._set = set
self._data = set._data # Needed by ImmutableSet.__eq__() self._data = set._data # Needed by ImmutableSet.__eq__()
def __hash__(self): def __hash__(self):
if self._hashcode is None: return self._set._compute_hash()
self._hashcode = self._set._compute_hash()
return self._hashcode
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment