tests/cases/conformance/es6/destructuring/iterableArrayPattern6.ts(2,8): error TS2322: Type 'Foo[]' is not assignable to type 'string[]'. Type 'Foo' is not assignable to type 'string'. ==== tests/cases/conformance/es6/destructuring/iterableArrayPattern6.ts (1 errors) ==== var a: Bar, b: string[]; [a, ...b] = new FooIterator; ~ !!! error TS2322: Type 'Foo[]' is not assignable to type 'string[]'. !!! error TS2322: Type 'Foo' is not assignable to type 'string'. class Bar { x } class Foo extends Bar { y } class FooIterator { next() { return { value: new Foo, done: false }; } [Symbol.iterator]() { return this; } }