//@target: ES6
class StringIterator {
next() {
return {
value: "",
done: false
};
}
[Symbol.iterator]() {
return this;
var v: string;
for (v of new StringIterator) { } // Should succeed