Incorrect inference for function expression with type annotation and generic · Issue #16293 · microsoft/TypeScript (original) (raw)

Skip to content

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

@OliverJAsh

Description

@OliverJAsh

#TypeScript Version: 2.3.4

Code

// I can conveniently annotate a function express with a type // This is good because the types don't litter the implementation

{ type add = (a: number) => (b: number) => number; const add: add = a => b => a + b; // a and b are type number }

// However, if I try to do the same where the function type has a generic…

{ type fn = (a: A) => A; const fn: fn = a => a; // a is inferred as any, but expected A }

Is there any way to annotate the function expression fn with the type fn without breaking inference for the parameters?