1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
load(libdir + "asserts.js"); var error = {}; var iter = { [Symbol.iterator]() { return this; }, next() { return {done: false}; }, return() { throw error; }, }; class C extends class {} { constructor() { super(); for (var k of iter) { return 0; } } } function test() { for (var i = 0; i < 100; ++i) { assertThrowsValue(() => new C(), error); } } test();