We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent cfdeb5c commit 4a2440dCopy full SHA for 4a2440d
Lib/test/test_set.py
@@ -675,6 +675,33 @@ def __hash__(self):
675
with self.assertRaises(KeyError):
676
myset.discard(elem2)
677
678
+ def test_set_add_to_dummy_slot(self):
679
+ # gh-141805
680
+ tasks = set()
681
+
682
+ class Dummy:
683
+ def __hash__(self):
684
+ return 0
685
686
+ class CorruptTrigger:
687
+ triggered = False
688
689
690
691
692
+ def __eq__(self, value):
693
+ if not self.triggered:
694
+ self.triggered = True
695
+ tasks.add(self)
696
+ return False
697
698
+ tasks.add(Dummy())
699
700
+ tasks.pop()
701
+ self.assertEqual(len(tasks), 1)
702
+ tasks.add(CorruptTrigger())
703
+ self.assertEqual(len(tasks), 2)
704
705
706
class SetSubclass(set):
707
pass
0 commit comments