//// [typeParameterIndirectlyConstrainedToItself.ts] class C { } class C2 { } interface I { } interface I2 { } function f() { } function f2() { } var a: { (): void; (): void; } var b = () => { } var b2 = () => { } class D { } //// [typeParameterIndirectlyConstrainedToItself.js] var C = (function () { function C() { } return C; })(); var C2 = (function () { function C2() { } return C2; })(); function f() { } function f2() { } var a; var b = function () { }; var b2 = function () { }; var D = (function () { function D() { } return D; })();