//@target: ES6 function foo(...s: symbol[]) { } class SymbolIterator { next() { return { value: Symbol(), done: false }; } [Symbol.iterator]() { return this; } } foo(...new SymbolIterator);