TypeScript 2.8.3 Type must have a Symbol.iterator method that returns an iterator
08:35 08 May 2018

I am running into an error that says

Type must have a '[Symbol.iterator]()' method that returns an iterator.

It hopes on the demarcated line:

class Test {
    private async do() {
        const done = [...(await this.test())]; // Here's the error
    }

    private async *test(): AsyncIterableIterator {
        return;
    }
}

I have found a few issues in the TypeScript GitHub repository, but none seem to have helped. They all suggest adding new entries to lib. I am using es6 target and have added esnext, dom and es2018. This has had zero effect on the error.

Do I miss more lib entries (which I doubt as the ones I am using are the catchall ones with everything in) or is the code I am using invalid?

typescript spread-syntax