2014-08-15 23:33:16 +02:00
|
|
|
=== tests/cases/compiler/inferentialTypingWithFunctionTypeNested.ts ===
|
|
|
|
declare function map<T, U>(x: T, f: () => { x: (s: T) => U }): U;
|
2014-08-28 21:52:44 +02:00
|
|
|
>map : <T, U>(x: T, f: () => { x: (s: T) => U; }) => U
|
2014-08-15 23:33:16 +02:00
|
|
|
>T : T
|
|
|
|
>U : U
|
|
|
|
>x : T
|
|
|
|
>T : T
|
|
|
|
>f : () => { x: (s: T) => U; }
|
|
|
|
>x : (s: T) => U
|
|
|
|
>s : T
|
|
|
|
>T : T
|
|
|
|
>U : U
|
|
|
|
>U : U
|
|
|
|
|
|
|
|
declare function identity<V>(y: V): V;
|
2014-08-28 21:52:44 +02:00
|
|
|
>identity : <V>(y: V) => V
|
2014-08-15 23:33:16 +02:00
|
|
|
>V : V
|
|
|
|
>y : V
|
|
|
|
>V : V
|
|
|
|
>V : V
|
|
|
|
|
|
|
|
var s = map("", () => { return { x: identity }; });
|
2014-09-10 00:23:24 +02:00
|
|
|
>s : string
|
|
|
|
>map("", () => { return { x: identity }; }) : string
|
2014-08-28 21:52:44 +02:00
|
|
|
>map : <T, U>(x: T, f: () => { x: (s: T) => U; }) => U
|
2014-09-10 00:23:24 +02:00
|
|
|
>() => { return { x: identity }; } : () => { x: (y: string) => string; }
|
2014-08-28 21:52:44 +02:00
|
|
|
>{ x: identity } : { x: <V>(y: V) => V; }
|
|
|
|
>x : <V>(y: V) => V
|
|
|
|
>identity : <V>(y: V) => V
|
2014-08-15 23:33:16 +02:00
|
|
|
|