summaryrefslogtreecommitdiffstats
path: root/Lib/sets.py
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2005-08-13 02:28:54 (GMT)
committerRaymond Hettinger <python@rcn.com>2005-08-13 02:28:54 (GMT)
commitab294199b772e47dd86ca665dbc1080715b844d2 (patch)
tree355e719f2cbc756be0d9c8a2943a9056cc304a77 /Lib/sets.py
parent787b4c5fea8476a1146918f90a6da7f63d7aa31c (diff)
downloadcpython-ab294199b772e47dd86ca665dbc1080715b844d2.zip
cpython-ab294199b772e47dd86ca665dbc1080715b844d2.tar.gz
cpython-ab294199b772e47dd86ca665dbc1080715b844d2.tar.bz2
Teach set modules to correctly compute s-=s and s^=s as the empty set.
Diffstat (limited to 'Lib/sets.py')
-rw-r--r--Lib/sets.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/Lib/sets.py b/Lib/sets.py
index 8ec7e2f..32a0dd6 100644
--- a/Lib/sets.py
+++ b/Lib/sets.py
@@ -480,6 +480,8 @@ class Set(BaseSet):
value = True
if not isinstance(other, BaseSet):
other = Set(other)
+ if self is other:
+ self.clear()
for elt in other:
if elt in data:
del data[elt]
@@ -497,6 +499,8 @@ class Set(BaseSet):
data = self._data
if not isinstance(other, BaseSet):
other = Set(other)
+ if self is other:
+ self.clear()
for elt in ifilter(data.has_key, other):
del data[elt]