//// [constraintSatisfactionWithAny.ts] // any is not a valid type argument unless there is no constraint, or the constraint is any function foo(x: T): T { return null; } function foo2(x: T): T { return null; } //function foo3(x: T): T { return null; } function foo4(x: T) => void>(x: T): T { return null; } var a; foo(a); foo2(a); //foo3(a); foo4(a); var b: number; foo(b); foo2(b); //foo3(b); foo4(b); //function foo5(x: T, y: U): T { return null; } //foo5(a, a); //foo5(b, b); class C { constructor(public x: T) { } } var c1 = new C(a); var c2 = new C(b); class C2 { constructor(public x: T) { } } var c3 = new C2(a); var c4 = new C2(b); //class C3 { // constructor(public x: T) { } //} //var c5 = new C3(a); //var c6 = new C3(b); class C4(x:T) => T> { constructor(public x: T) { } } var c7 = new C4(a); var c8 = new C4(b); //// [constraintSatisfactionWithAny.js] // any is not a valid type argument unless there is no constraint, or the constraint is any function foo(x) { return null; } function foo2(x) { return null; } //function foo3(x: T): T { return null; } function foo4(x) { return null; } var a; foo(a); foo2(a); //foo3(a); foo4(a); var b; foo(b); foo2(b); //foo3(b); foo4(b); //function foo5(x: T, y: U): T { return null; } //foo5(a, a); //foo5(b, b); var C = (function () { function C(x) { this.x = x; } return C; })(); var c1 = new C(a); var c2 = new C(b); var C2 = (function () { function C2(x) { this.x = x; } return C2; })(); var c3 = new C2(a); var c4 = new C2(b); //class C3 { // constructor(public x: T) { } //} //var c5 = new C3(a); //var c6 = new C3(b); var C4 = (function () { function C4(x) { this.x = x; } return C4; })(); var c7 = new C4(a); var c8 = new C4(b);