//// [genericCloneReturnTypes.ts] class Bar { public size: number; public t: T; constructor(x: number) { this.size = x; } public clone() { return new Bar(this.size); } } var b: Bar; var b2 = b.clone(); var b3: Bar; b = b2; b = b3; //// [genericCloneReturnTypes.js] var Bar = (function () { function Bar(x) { this.size = x; } Bar.prototype.clone = function () { return new Bar(this.size); }; return Bar; })(); var b; var b2 = b.clone(); var b3; b = b2; b = b3;