TypeScript/tests/baselines/reference/mutrec.types
2015-04-15 16:44:20 -07:00

107 lines
971 B
Plaintext

=== tests/cases/compiler/mutrec.ts ===
interface A {
>A : A
x:B[];
>x : B[]
>B : B
}
interface B {
>B : B
x:A[];
>x : A[]
>A : A
}
function f(p: A) { return p };
>f : (p: A) => A
>p : A
>A : A
>p : A
var b:B;
>b : B
>B : B
f(b);
>f(b) : A
>f : (p: A) => A
>b : B
interface I1 {
>I1 : I1
y:I2;
>y : I2
>I2 : I2
}
interface I2 {
>I2 : I2
y:I3;
>y : I3
>I3 : I3
}
interface I3 {
>I3 : I3
y:I1;
>y : I1
>I1 : I1
}
function g(p: I1) { return p };
>g : (p: I1) => I1
>p : I1
>I1 : I1
>p : I1
var i2:I2;
>i2 : I2
>I2 : I2
g(i2);
>g(i2) : I1
>g : (p: I1) => I1
>i2 : I2
var i3:I3;
>i3 : I3
>I3 : I3
g(i3);
>g(i3) : I1
>g : (p: I1) => I1
>i3 : I3
interface I4 {
>I4 : I4
y:I5;
>y : I5
>I5 : I5
}
interface I5 {
>I5 : I5
y:I4;
>y : I4
>I4 : I4
}
var i4:I4;
>i4 : I4
>I4 : I4
g(i4);
>g(i4) : I1
>g : (p: I1) => I1
>i4 : I4