michael@0: // set.iterator() is live: entries added during iteration are visited. michael@0: michael@0: var set = Set([5]); michael@0: var log = ''; michael@0: for (let x of set) { michael@0: log += x + ';'; michael@0: if (x > 0) michael@0: set.add(x - 1); michael@0: } michael@0: assertEq(log, '5;4;3;2;1;0;'); michael@0: assertEq(set.size, 6);