1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
//// [genericConstructorFunction1.ts]
function f1<T>(args: T) {
var v1: { [index: string]: new (arg: T) => Date };
var v2 = v1['test'];
v2(args);
return new v2(args); // used to give error
}
interface I1<T> { new (arg: T): Date };
function f2<T>(args: T) {
var v1: { [index: string]: I1<T> };
var v2 = v1['test'];
var y = v2(args);
return new v2(args); // used to give error
}
//// [genericConstructorFunction1.js]
function f1(args) {
var v1;
var v2 = v1['test'];
v2(args);
return new v2(args); // used to give error
}
;
function f2(args) {
var v1;
var v2 = v1['test'];
var y = v2(args);
return new v2(args); // used to give error
}
|