// For-of passes one arg to "next".

load(libdir + 'iteration.js')

var log = '';

function Iter() {
    function next() {
        log += 'n';
        assertEq(arguments.length, 0)
        assertEq(arguments[0], undefined)
        return { get value() { throw 42; }, done: true }
    }

    this[Symbol.iterator] = function () { return this; }
    this.next = next;
}

for (var x of new Iter())
    throw 'not reached';

assertEq(log, 'n');