diff options
Diffstat (limited to 'Lib/sets.py')
-rw-r--r-- | Lib/sets.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Lib/sets.py b/Lib/sets.py index a05c66f..5dac370a 100644 --- a/Lib/sets.py +++ b/Lib/sets.py @@ -366,6 +366,11 @@ class ImmutableSet(BaseSet): self._hashcode = self._compute_hash() return self._hashcode + def __getstate__(self): + return self._data, self._hashcode + + def __setstate__(self, state): + self._data, self._hashcode = state class Set(BaseSet): """ Mutable set class.""" @@ -380,6 +385,13 @@ class Set(BaseSet): if iterable is not None: self._update(iterable) + def __getstate__(self): + # getstate's results are ignored if it is not + return self._data, + + 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 |