=== tests/cases/conformance/es6/spread/iteratorSpreadInArray2.ts === var array = [...new NumberIterator, ...new SymbolIterator]; >array : (number | symbol)[], Symbol(array, Decl(iteratorSpreadInArray2.ts, 0, 3)) >[...new NumberIterator, ...new SymbolIterator] : (number | symbol)[] >...new NumberIterator : number >new NumberIterator : NumberIterator >NumberIterator : typeof NumberIterator, Symbol(NumberIterator, Decl(iteratorSpreadInArray2.ts, 13, 1)) >...new SymbolIterator : symbol >new SymbolIterator : SymbolIterator >SymbolIterator : typeof SymbolIterator, Symbol(SymbolIterator, Decl(iteratorSpreadInArray2.ts, 0, 59)) class SymbolIterator { >SymbolIterator : SymbolIterator, Symbol(SymbolIterator, Decl(iteratorSpreadInArray2.ts, 0, 59)) next() { >next : () => { value: symbol; done: boolean; }, Symbol(next, Decl(iteratorSpreadInArray2.ts, 2, 22)) return { >{ value: Symbol(), done: false } : { value: symbol; done: boolean; } value: Symbol(), >value : symbol, Symbol(value, Decl(iteratorSpreadInArray2.ts, 4, 16)) >Symbol() : symbol >Symbol : SymbolConstructor, Symbol(Symbol, Decl(lib.d.ts, 1186, 52), Decl(lib.d.ts, 1262, 11)) done: false >done : boolean, Symbol(done, Decl(iteratorSpreadInArray2.ts, 5, 28)) >false : boolean }; } [Symbol.iterator]() { >Symbol.iterator : symbol, Symbol(SymbolConstructor.iterator, Decl(lib.d.ts, 1236, 31)) >Symbol : SymbolConstructor, Symbol(Symbol, Decl(lib.d.ts, 1186, 52), Decl(lib.d.ts, 1262, 11)) >iterator : symbol, Symbol(SymbolConstructor.iterator, Decl(lib.d.ts, 1236, 31)) return this; >this : SymbolIterator, Symbol(SymbolIterator, Decl(iteratorSpreadInArray2.ts, 0, 59)) } } class NumberIterator { >NumberIterator : NumberIterator, Symbol(NumberIterator, Decl(iteratorSpreadInArray2.ts, 13, 1)) next() { >next : () => { value: number; done: boolean; }, Symbol(next, Decl(iteratorSpreadInArray2.ts, 15, 22)) return { >{ value: 0, done: false } : { value: number; done: boolean; } value: 0, >value : number, Symbol(value, Decl(iteratorSpreadInArray2.ts, 17, 16)) >0 : number done: false >done : boolean, Symbol(done, Decl(iteratorSpreadInArray2.ts, 18, 21)) >false : boolean }; } [Symbol.iterator]() { >Symbol.iterator : symbol, Symbol(SymbolConstructor.iterator, Decl(lib.d.ts, 1236, 31)) >Symbol : SymbolConstructor, Symbol(Symbol, Decl(lib.d.ts, 1186, 52), Decl(lib.d.ts, 1262, 11)) >iterator : symbol, Symbol(SymbolConstructor.iterator, Decl(lib.d.ts, 1236, 31)) return this; >this : NumberIterator, Symbol(NumberIterator, Decl(iteratorSpreadInArray2.ts, 13, 1)) } }