File tree Expand file tree Collapse file tree
cases/conformance/types/union Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ //// [unionTypeReduction.ts]
2+ interface I2 {
3+ ( ) : number ;
4+ ( q ) : boolean ;
5+ }
6+
7+ interface I3 {
8+ ( ) : number ;
9+ }
10+
11+ var i2 : I2 , i3 : I3 ;
12+
13+ var e1 : I2 | I3 ;
14+ var e2 = i2 || i3 ; // Type of e2 immediately reduced to I3
15+
16+ var r1 = e1 ( ) ; // Type of e1 reduced to I3 upon accessing property or signature
17+ var r2 = e2 ( ) ;
18+
19+
20+ //// [unionTypeReduction.js]
21+ var i2 , i3 ;
22+ var e1 ;
23+ var e2 = i2 || i3 ; // Type of e2 immediately reduced to I3
24+ var r1 = e1 ( ) ; // Type of e1 reduced to I3 upon accessing property or signature
25+ var r2 = e2 ( ) ;
Original file line number Diff line number Diff line change 1+ === tests/cases/conformance/types/union/unionTypeReduction.ts ===
2+ interface I2 {
3+ >I2 : I2
4+
5+ (): number;
6+ (q): boolean;
7+ >q : any
8+ }
9+
10+ interface I3 {
11+ >I3 : I3
12+
13+ (): number;
14+ }
15+
16+ var i2: I2, i3: I3;
17+ >i2 : I2
18+ >I2 : I2
19+ >i3 : I3
20+ >I3 : I3
21+
22+ var e1: I2 | I3;
23+ >e1 : I2 | I3
24+ >I2 : I2
25+ >I3 : I3
26+
27+ var e2 = i2 || i3; // Type of e2 immediately reduced to I3
28+ >e2 : I3
29+ >i2 || i3 : I3
30+ >i2 : I2
31+ >i3 : I3
32+
33+ var r1 = e1(); // Type of e1 reduced to I3 upon accessing property or signature
34+ >r1 : number
35+ >e1() : number
36+ >e1 : I2 | I3
37+
38+ var r2 = e2();
39+ >r2 : number
40+ >e2() : number
41+ >e2 : I3
42+
Original file line number Diff line number Diff line change 1+ interface I2 {
2+ ( ) : number ;
3+ ( q ) : boolean ;
4+ }
5+
6+ interface I3 {
7+ ( ) : number ;
8+ }
9+
10+ var i2 : I2 , i3 : I3 ;
11+
12+ var e1 : I2 | I3 ;
13+ var e2 = i2 || i3 ; // Type of e2 immediately reduced to I3
14+
15+ var r1 = e1 ( ) ; // Type of e1 reduced to I3 upon accessing property or signature
16+ var r2 = e2 ( ) ;
You can’t perform that action at this time.
0 commit comments