Closed
Description
TypeScript Version: master
Search Terms:
Code
export class Coroutine<T = unknown, R = unknown, S = unknown> {
constructor(gen: (this: Coroutine<T, R, S>) => Generator<R, T, S> | AsyncGenerator<R, T, S>) {
}
}
new Coroutine<0, 0, 1>(async function* g() {
const a = yield 0;
return 0;
});
Expected behavior:
Type g is AsyncGenerator<0, 0, 1>.
Type a is 1.
Actual behavior:
Type g is AsyncGenerator<0, 0, unknown>.
Type a is any.
Playground Link:
Related Issues:
Metadata
Metadata
Assignees
Labels
No labels