TypeScript/tests/baselines/reference/typeArgumentInferenceOrdering.types
2014-08-15 14:37:48 -07:00

42 lines
606 B
Plaintext

=== tests/cases/compiler/typeArgumentInferenceOrdering.ts ===
function foo<T>(f: { y: T }): T { return null }
>foo : <T>(f: { y: T; }) => T
>T : T
>f : { y: T; }
>y : T
>T : T
>T : T
var x = foo(new C()).x; // was Error that property x does not exist on type {}
>x : () => Goo
>foo(new C()).x : () => Goo
>foo(new C()) : I
>foo : <T>(f: { y: T; }) => T
>new C() : C
>C : typeof C
>x : () => Goo
class C {
>C : C
y: I;
>y : I
>I : I
}
interface I {
>I : I
x(): Goo;
>x : () => Goo
>Goo : Goo
}
interface Goo {
>Goo : Goo
p: string;
>p : string
}