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
|
//// [cyclicTypeInstantiation.ts]
function foo<T>() {
var x: {
a: T;
b: typeof x;
};
return x;
}
function bar<T>() {
var x: {
a: T;
b: typeof x;
};
return x;
}
var a = foo<string>();
var b = bar<string>();
// Relating types of a and b produces instantiations of the cyclic anonymous types in foo and bar
a = b;
//// [cyclicTypeInstantiation.js]
function foo() {
var x;
return x;
}
function bar() {
var x;
return x;
}
var a = foo();
var b = bar();
// Relating types of a and b produces instantiations of the cyclic anonymous types in foo and bar
a = b;
|