TypeScript/tests/baselines/reference/genericCloneReturnTypes2.js
2014-07-12 17:30:19 -07:00

33 lines
811 B
JavaScript

//// [genericCloneReturnTypes2.ts]
class MyList<T> {
public size: number;
public data: T[];
constructor(n: number) {
this.size = n;
this.data = new Array<T>(this.size);
}
public clone() {
return new MyList<T>(this.size);
}
}
var a: MyList<string>;
var b: MyList<any> = a.clone(); // ok
var c: MyList<string> = a.clone(); // bug was there was an error on this line
var d: MyList<number> = a.clone(); // error
//// [genericCloneReturnTypes2.js]
var MyList = (function () {
function MyList(n) {
this.size = n;
this.data = new Array(this.size);
}
MyList.prototype.clone = function () {
return new MyList(this.size);
};
return MyList;
})();
var a;
var b = a.clone();
var c = a.clone();
var d = a.clone();