TypeScript/tests/baselines/reference/unionTypeReduction.types
2015-08-28 16:00:14 -07:00

43 lines
610 B
Plaintext

=== tests/cases/conformance/types/union/unionTypeReduction.ts ===
interface I2 {
>I2 : I2
(): number;
(q): boolean;
>q : any
}
interface I3 {
>I3 : I3
(): number;
}
var i2: I2, i3: I3;
>i2 : I2
>I2 : I2
>i3 : I3
>I3 : I3
var e1: I2 | I3;
>e1 : I2 | I3
>I2 : I2
>I3 : I3
var e2 = i2 || i3; // Type of e2 immediately reduced to I3
>e2 : I3
>i2 || i3 : I3
>i2 : I2
>i3 : I3
var r1 = e1(); // Type of e1 reduced to I3 upon accessing property or signature
>r1 : number
>e1() : number
>e1 : I2 | I3
var r2 = e2();
>r2 : number
>e2() : number
>e2 : I3