diff -r 2f86a69c3220 Lib/test/test_set.py --- a/Lib/test/test_set.py Tue Jul 07 00:34:37 2015 -0500 +++ b/Lib/test/test_set.py Tue Jul 07 14:51:39 2015 +0300 @@ -1731,6 +1731,19 @@ class TestWeirdBugs(unittest.TestCase): be_bad = True set1.symmetric_difference_update(dict2) + def test_merge_and_mutate(self): + class X: + def __hash__(self): + return hash(0) + def __eq__(self, o): + other.clear() + return False + + other = set() + other = {X() for i in range(10)} + s = {0} + s.update(other) + # Application tests (based on David Eppstein's graph recipes ==================================== def powerset(U):