Closed
Description
TypeScript Version: 4.1.0-beta
Search Terms:
promise promiselike instanceof
Code
declare const p: PromiseLike<number>;
const p1 = p instanceof Promise ? p : Promise.resolve(p);
const p2: Promise<number> = p1.then((v) => v + 1);
Expected behavior:
No errors.
Actual behavior:
p2 errors because the expression has been determined to be promise-like.
Also p1 is inferred as PromiseLike & Promise.
Related Issues: