61 lines
513 B
JavaScript
61 lines
513 B
JavaScript
//// [mutrec.ts]
|
|
interface A {
|
|
x:B[];
|
|
}
|
|
|
|
interface B {
|
|
x:A[];
|
|
}
|
|
|
|
function f(p: A) { return p };
|
|
var b:B;
|
|
f(b);
|
|
|
|
interface I1 {
|
|
y:I2;
|
|
}
|
|
|
|
interface I2 {
|
|
y:I3;
|
|
}
|
|
|
|
interface I3 {
|
|
y:I1;
|
|
}
|
|
|
|
function g(p: I1) { return p };
|
|
var i2:I2;
|
|
g(i2);
|
|
var i3:I3;
|
|
g(i3);
|
|
|
|
interface I4 {
|
|
y:I5;
|
|
}
|
|
|
|
interface I5 {
|
|
y:I4;
|
|
}
|
|
|
|
var i4:I4;
|
|
g(i4);
|
|
|
|
|
|
|
|
//// [mutrec.js]
|
|
function f(p) {
|
|
return p;
|
|
}
|
|
;
|
|
var b;
|
|
f(b);
|
|
function g(p) {
|
|
return p;
|
|
}
|
|
;
|
|
var i2;
|
|
g(i2);
|
|
var i3;
|
|
g(i3);
|
|
var i4;
|
|
g(i4);
|