// Iterator.prototype.next throws if applied to a non-iterator that inherits from an iterator.

load(libdir + "asserts.js");
load(libdir + "iteration.js");

var it = [1, 2][Symbol.iterator]();
var v = Object.create(it);
assertThrowsInstanceOf(function () { Iterator.prototype.next.call(v); }, TypeError);