//// [genericWithOpenTypeParameters1.ts] class B { foo(x: T): T { return null; } } var x: B; x.foo(1); // no error var f = (x: B) => { return x.foo(1); } // error var f2 = (x: B) => { return x.foo(1); } // error var f3 = (x: B) => { return x.foo(1); } // error var f4 = (x: B) => { return x.foo(1); } // no error //// [genericWithOpenTypeParameters1.js] var B = (function () { function B() { } B.prototype.foo = function (x) { return null; }; return B; })(); var x; x.foo(1); // no error var f = function (x) { return x.foo(1); }; // error var f2 = function (x) { return x.foo(1); }; // error var f3 = function (x) { return x.foo(1); }; // error var f4 = function (x) { return x.foo(1); }; // no error