Bug Report
🔎 Search Terms
conditional type narrow nongeneric
🕗 Version & Regression Information
- This changed between versions 3.8 and 3.9
⏯ Playground Link
Playground link with relevant code
💻 Code
type Q<T> = number extends T ? (n: number) => void : never;
function fn<T>(arg: Q<T>) {
// Expected: OK
// Actual: Cannot convert 10 to number & T
arg(10);
}
// Legal invocations are not problematic
fn<string | number>(m => m.toFixed());
fn<number>(m => m.toFixed());
🙁 Actual behavior
Error issued at arg(10), even though by inspection this is always a legal call.
🙂 Expected behavior
Honestly, not sure.
Bug Report
🔎 Search Terms
conditional type narrow nongeneric
🕗 Version & Regression Information
⏯ Playground Link
Playground link with relevant code
💻 Code
🙁 Actual behavior
Error issued at
arg(10), even though by inspection this is always a legal call.🙂 Expected behavior
Honestly, not sure.