Teach the sets module to correctly compute s-=s and s^=s as the empty set.
diff --git a/Lib/test/test_sets.py b/Lib/test/test_sets.py
index c5a48b1..ff834e0 100644
--- a/Lib/test/test_sets.py
+++ b/Lib/test/test_sets.py
@@ -243,6 +243,19 @@
self.assertRaises(TypeError, cmp, a, 12)
self.assertRaises(TypeError, cmp, "abc", a)
+ def test_inplace_on_self(self):
+ t = self.set.copy()
+ t |= t
+ self.assertEqual(t, self.set)
+ t &= t
+ self.assertEqual(t, self.set)
+ t -= t
+ self.assertEqual(len(t), 0)
+ t = self.set.copy()
+ t ^= t
+ self.assertEqual(len(t), 0)
+
+
#==============================================================================
class TestUpdateOps(unittest.TestCase):