// @target: esnext // @strict: true // #35995 function* f1(): Generator { return { x: 'x' }; } async function* f2(): AsyncGenerator { return { x: 'x' }; } async function* f3(): AsyncGenerator { return Promise.resolve({ x: 'x' }); } async function* f4(): AsyncGenerator { const ret = { x: 'x' }; return Promise.resolve(ret); // Error }