2014-07-13 01:04:16 +02:00
|
|
|
//// [genericTypeWithCallableMembers2.ts]
|
|
|
|
function foo1<T extends { (): string; }>(f: T) {
|
|
|
|
return f(); // should return 'string', once returned 'any'
|
|
|
|
}
|
|
|
|
|
|
|
|
function foo2<T extends { new (): string; }>(f: T) {
|
|
|
|
return new f(); // should be legal, once was an error
|
|
|
|
}
|
|
|
|
|
|
|
|
//// [genericTypeWithCallableMembers2.js]
|
|
|
|
function foo1(f) {
|
2014-08-16 00:16:17 +02:00
|
|
|
return f(); // should return 'string', once returned 'any'
|
2014-07-13 01:04:16 +02:00
|
|
|
}
|
|
|
|
function foo2(f) {
|
2014-08-16 00:16:17 +02:00
|
|
|
return new f(); // should be legal, once was an error
|
2014-07-13 01:04:16 +02:00
|
|
|
}
|