22 lines
461 B
JavaScript
22 lines
461 B
JavaScript
function bar(x: Document | string): void { }
|
|
bar(0);
|
|
|
|
class C { }
|
|
class D { }
|
|
function CD(b) {
|
|
var E = b? C: D;
|
|
var c:C = new E(); // error, since E could be D, and D is not a subtype of C
|
|
function qux(e: E) { } // this annotation is an error: is it C, or is it D?
|
|
function qux2(e: C | D) { } // OK
|
|
qux2(new C);
|
|
}
|
|
|
|
declare class F {
|
|
foo(x: number):void;
|
|
foo(x: string):void;
|
|
}
|
|
function corge(b) {
|
|
var x = b ? "" : 0;
|
|
new F().foo(x);
|
|
}
|