optimize-get-iterator-2.js (324B)
1 (() => { 2 let returnCalled = false; 3 4 function foo() { 5 ({}).__proto__.return = () => { 6 returnCalled = true; 7 return { value: 3, done: true }; 8 }; 9 return 2; 10 } 11 12 assertEq(returnCalled, false); 13 let [a,[b=foo()]] = [1,[],3]; 14 assertEq(returnCalled, true); 15 assertEq(a, 1); 16 assertEq(b, 2); 17 })();