// Generator-iterators are consumed the first time they are iterated. | |
function range(n) { | |
for (var i = 0; i < n; i++) | |
yield i; | |
} | |
var r = range(10); | |
var i = 0; | |
for (var x in r) | |
assertEq(x, i++); | |
assertEq(i, 10); | |
for (var y in r) | |
throw "FAIL"; | |
assertEq(y, undefined); |