1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
=== tests/cases/conformance/types/namedTypes/genericInstantiationEquivalentToObjectLiteral.ts ===
interface Pair<T1, T2> { first: T1; second: T2; }
>Pair : Pair<T1, T2>
>T1 : T1
>T2 : T2
>first : T1
>T1 : T1
>second : T2
>T2 : T2
var x: Pair<string, number>
>x : Pair<string, number>
>Pair : Pair<T1, T2>
var y: { first: string; second: number; }
>y : { first: string; second: number; }
>first : string
>second : number
x = y;
>x = y : { first: string; second: number; }
>x : Pair<string, number>
>y : { first: string; second: number; }
y = x;
>y = x : Pair<string, number>
>y : { first: string; second: number; }
>x : Pair<string, number>
declare function f<T, U>(x: Pair<T, U>);
>f : <T, U>(x: Pair<T, U>) => any
>T : T
>U : U
>x : Pair<T, U>
>Pair : Pair<T1, T2>
>T : T
>U : U
declare function f2<T, U>(x: { first: T; second: U; });
>f2 : <T, U>(x: { first: T; second: U; }) => any
>T : T
>U : U
>x : { first: T; second: U; }
>first : T
>T : T
>second : U
>U : U
f(x);
>f(x) : any
>f : <T, U>(x: Pair<T, U>) => any
>x : Pair<string, number>
f(y);
>f(y) : any
>f : <T, U>(x: Pair<T, U>) => any
>y : { first: string; second: number; }
f2(x);
>f2(x) : any
>f2 : <T, U>(x: { first: T; second: U; }) => any
>x : Pair<string, number>
f2(y);
>f2(y) : any
>f2 : <T, U>(x: { first: T; second: U; }) => any
>y : { first: string; second: number; }
|