Bug Report
π Search Terms
typescript function generic inference, typescript inference arrow function
π Version & Regression Information
5.0.4, nightly build are being reproduced
β― Playground Link
https://tsplay.dev/mp0YXm
π» Code
function test<T = unknown>(options: {
a: (c: T) => void,
b: () => T
}) {}
test({
a: (c) => { c }, // c is number
b: () => 123
})
test({
b: () => 123,
a: (c) => { return c }, // c is number
})
test({
b() { return 123 },
a(c) { return c }, // c is number
})
test({
a(c) { return c }, // c is unknown, expected number as above inferences
b() { return 123 }
})
π Actual behavior
last 'a' parameter 'c' inner test() inferred as unknown
π Expected behavior
last 'a' parameter 'c' inner test() inferred as number