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.
This commit is contained in:
Raymond Hettinger 2002-08-24 04:47:42 +00:00
parent 045e51a9a5
commit d50185127f

View file

@ -471,13 +471,9 @@ class _TemporarilyImmutableSet(BaseSet):
# Wrap a mutable set as if it was temporarily immutable.
# This only supplies hashing and equality comparisons.
_hashcode = None
def __init__(self, set):
self._set = set
self._data = set._data # Needed by ImmutableSet.__eq__()
def __hash__(self):
if self._hashcode is None:
self._hashcode = self._set._compute_hash()
return self._hashcode
return self._set._compute_hash()