2014-07-13 01:04:16 +02:00
|
|
|
//// [hidingCallSignatures.ts]
|
|
|
|
interface C {
|
|
|
|
new (a: string): string;
|
|
|
|
}
|
|
|
|
|
|
|
|
interface D extends C {
|
|
|
|
(a: string): number; // Should be ok
|
|
|
|
}
|
|
|
|
|
|
|
|
interface E {
|
|
|
|
(a: string): {};
|
|
|
|
}
|
|
|
|
|
|
|
|
interface F extends E {
|
|
|
|
(a: string): string;
|
|
|
|
}
|
|
|
|
|
|
|
|
var d: D;
|
|
|
|
d(""); // number
|
|
|
|
new d(""); // should be string
|
|
|
|
|
|
|
|
var f: F;
|
|
|
|
f(""); // string
|
|
|
|
|
|
|
|
var e: E;
|
|
|
|
e(""); // {}
|
|
|
|
|
|
|
|
//// [hidingCallSignatures.js]
|
|
|
|
var d;
|
2014-08-16 00:49:09 +02:00
|
|
|
d(""); // number
|
|
|
|
new d(""); // should be string
|
2014-07-13 01:04:16 +02:00
|
|
|
var f;
|
2014-08-16 00:49:09 +02:00
|
|
|
f(""); // string
|
2014-07-13 01:04:16 +02:00
|
|
|
var e;
|
2014-08-16 00:49:09 +02:00
|
|
|
e(""); // {}
|