==== tests/cases/compiler/genericConstructorFunction1.ts (2 errors) ==== function f1(args: T) { var v1: { [index: string]: new (arg: T) => Date }; var v2 = v1['test']; v2(args); ~~~~~~~~ !!! Value of type 'new (arg: T) => Date' is not callable. Did you mean to include 'new'? return new v2(args); // used to give error } interface I1 { new (arg: T): Date }; function f2(args: T) { var v1: { [index: string]: I1 }; var v2 = v1['test']; var y = v2(args); ~~~~~~~~ !!! Value of type 'I1' is not callable. Did you mean to include 'new'? return new v2(args); // used to give error }