-
Notifications
You must be signed in to change notification settings - Fork 13.2k
Closed
Labels
FixedA PR has been merged for this issueA PR has been merged for this issue
Description
TypeScript Version: 3.2.2
Search Terms: Generics, lookahead, type inference
Code
function call<P1, R>(f: (p1: P1) => R, p1: P1): R {
return f(p1);
}
function identity<T>(o: T): T {
return o;
}
const x = call(identity, 1);
// When the parameters are reversed, it works:
function callReversed<P1, R>(p1: P1, f: (p1: P1) => R): R {
return f(p1);
}
const y = callReversed(1, identity);Expected behavior:
x is of type number
Actual behavior:
x is of type {}
only y is of type number
Playground Link: Playground link
Related Issues: I didn't find anything related, but maybe I have been using the wrong search term ("lookahead").
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
FixedA PR has been merged for this issueA PR has been merged for this issue