// Changing arguments.length during a for-of loop iterating over arguments affects the loop. load(libdir + "iteration.js"); Object.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator]; var s; function f() { for (var v of arguments) { s += v; arguments.length--; } } s = ''; f('a', 'b', 'c', 'd', 'e'); assertEq(s, 'abc');