TypeScript Version: 3.6.0-dev
Code
declarefunctionfoo<T>(x: T|Promise<T>): void;declareletx: false|Promise<true>;foo(x);// Error, 'false | Promise<true>' not assignable to 'true | Promise<true>'declarefunctionbar<T>(x: T,y: string|T): T;consty=bar(1,2);// Error, '2' not assignable to 'string | 1'
Expected behavior: No errors.
Actual behavior: Errors as noted above.
Playground Link:https://www.typescriptlang.org/play/index.html#code/CYUwxgNghgTiAEAzArgOzAFwJYHtVJxwB4AVAPgAoAPALnhPgB94AFGHAWywGcRSyAlHQBuOLMADcAWABQoSLAQQQGeLSRQIvJq3ZdeRDDGQgy0mYkLUBE+PAD09+AFEY7GLNnzocJGky4+ABGsPzUdCQANPAAnnTcRlioAOY6JEL05mB4CbHwALzwITAUAIzRAEw2do4ubjgeMkA
Related Issues: Discovered in #32386.
TypeScript Version: 3.6.0-dev
Code
Expected behavior: No errors.
Actual behavior: Errors as noted above.
Playground Link:https://www.typescriptlang.org/play/index.html#code/CYUwxgNghgTiAEAzArgOzAFwJYHtVJxwB4AVAPgAoAPALnhPgB94AFGHAWywGcRSyAlHQBuOLMADcAWABQoSLAQQQGeLSRQIvJq3ZdeRDDGQgy0mYkLUBE+PAD09+AFEY7GLNnzocJGky4+ABGsPzUdCQANPAAnnTcRlioAOY6JEL05mB4CbHwALzwITAUAIzRAEw2do4ubjgeMkA
Related Issues: Discovered in #32386.