TypeScript/tests/baselines/reference/genericFunctionsNotContextSensitive.types
Anders Hejlsberg 5a4024dd9d
Generic functions are never context sensitive (#37811)
* Functions with type parameters are never contextsensitive

* Add tests
2020-04-06 11:55:39 -07:00

23 lines
869 B
Plaintext

=== tests/cases/compiler/genericFunctionsNotContextSensitive.ts ===
// Repro from #37110
const f = <F extends (...args: any[]) => <G>(x: G) => void>(_: F): F => _;
>f : <F extends (...args: any[]) => <G>(x: G) => void>(_: F) => F
><F extends (...args: any[]) => <G>(x: G) => void>(_: F): F => _ : <F extends (...args: any[]) => <G>(x: G) => void>(_: F) => F
>args : any[]
>x : G
>_ : F
>_ : F
const a = f(<K extends string>(_: K) => _ => ({})); // <K extends string>(_: K) => <G>(_: G) => {}
>a : <K extends string>(_: K) => <G>(_: G) => {}
>f(<K extends string>(_: K) => _ => ({})) : <K extends string>(_: K) => <G>(_: G) => {}
>f : <F extends (...args: any[]) => <G>(x: G) => void>(_: F) => F
><K extends string>(_: K) => _ => ({}) : <K extends string>(_: K) => <G>(_: G) => {}
>_ : K
>_ => ({}) : <G>(_: G) => {}
>_ : G
>({}) : {}
>{} : {}