@@ -6,15 +6,27 @@ predicateSemantics.ts(28,13): error TS2871: This expression is always nullish.
6
6
predicateSemantics.ts(29,13): error TS2871: This expression is always nullish.
7
7
predicateSemantics.ts(30,13): error TS2872: This kind of expression is always truthy.
8
8
predicateSemantics.ts(31,13): error TS2872: This kind of expression is always truthy.
9
- predicateSemantics.ts(32,13): error TS2870: This binary expression is never nullish. Are you missing parentheses?
10
- predicateSemantics.ts(33,13): error TS2870: This binary expression is never nullish. Are you missing parentheses?
11
- predicateSemantics.ts(34,13): error TS2870: This binary expression is never nullish. Are you missing parentheses?
9
+ predicateSemantics.ts(32,13): error TS2871: This expression is always nullish.
10
+ predicateSemantics.ts(32,21): error TS2871: This expression is always nullish.
11
+ predicateSemantics.ts(33,13): error TS2871: This expression is always nullish.
12
+ predicateSemantics.ts(34,13): error TS2871: This expression is always nullish.
13
+ predicateSemantics.ts(34,22): error TS2871: This expression is always nullish.
14
+ predicateSemantics.ts(36,20): error TS2871: This expression is always nullish.
15
+ predicateSemantics.ts(37,20): error TS2871: This expression is always nullish.
12
16
predicateSemantics.ts(38,21): error TS2871: This expression is always nullish.
13
17
predicateSemantics.ts(39,21): error TS2871: This expression is always nullish.
14
- predicateSemantics.ts(40,21): error TS2870: This binary expression is never nullish. Are you missing parentheses?
15
- predicateSemantics.ts(45,13): error TS2870: This binary expression is never nullish. Are you missing parentheses?
16
- predicateSemantics.ts(46,13): error TS2870: This binary expression is never nullish. Are you missing parentheses?
17
- predicateSemantics.ts(47,13): error TS2870: This binary expression is never nullish. Are you missing parentheses?
18
+ predicateSemantics.ts(40,21): error TS2871: This expression is always nullish.
19
+ predicateSemantics.ts(40,29): error TS2871: This expression is always nullish.
20
+ predicateSemantics.ts(41,21): error TS2871: This expression is always nullish.
21
+ predicateSemantics.ts(42,20): error TS2881: This expression is never nullish.
22
+ predicateSemantics.ts(43,21): error TS2881: This expression is never nullish.
23
+ predicateSemantics.ts(45,13): error TS2871: This expression is always nullish.
24
+ predicateSemantics.ts(45,21): error TS2871: This expression is always nullish.
25
+ predicateSemantics.ts(45,29): error TS2871: This expression is always nullish.
26
+ predicateSemantics.ts(46,13): error TS2871: This expression is always nullish.
27
+ predicateSemantics.ts(46,21): error TS2881: This expression is never nullish.
28
+ predicateSemantics.ts(47,13): error TS2871: This expression is always nullish.
29
+ predicateSemantics.ts(47,22): error TS2881: This expression is never nullish.
18
30
predicateSemantics.ts(50,8): error TS2872: This kind of expression is always truthy.
19
31
predicateSemantics.ts(51,11): error TS2872: This kind of expression is always truthy.
20
32
predicateSemantics.ts(52,8): error TS2872: This kind of expression is always truthy.
@@ -26,7 +38,7 @@ predicateSemantics.ts(89,1): error TS2869: Right operand of ?? is unreachable be
26
38
predicateSemantics.ts(90,1): error TS2869: Right operand of ?? is unreachable because the left operand is never nullish.
27
39
28
40
29
- ==== predicateSemantics.ts (26 errors) ====
41
+ ==== predicateSemantics.ts (38 errors) ====
30
42
declare let opt: number | undefined;
31
43
32
44
// OK: One or other operand is possibly nullish
@@ -76,16 +88,24 @@ predicateSemantics.ts(90,1): error TS2869: Right operand of ?? is unreachable be
76
88
!!! error TS2872: This kind of expression is always truthy.
77
89
const p07 = null ?? null ?? null;
78
90
~~~~
79
- !!! error TS2870: This binary expression is never nullish. Are you missing parentheses?
91
+ !!! error TS2871: This expression is always nullish.
92
+ ~~~~
93
+ !!! error TS2871: This expression is always nullish.
80
94
const p08 = null ?? opt ?? null;
81
95
~~~~
82
- !!! error TS2870 : This binary expression is never nullish. Are you missing parentheses?
96
+ !!! error TS2871 : This expression is always nullish.
83
97
const p09 = null ?? (opt ? null : undefined) ?? null;
84
98
~~~~
85
- !!! error TS2870: This binary expression is never nullish. Are you missing parentheses?
99
+ !!! error TS2871: This expression is always nullish.
100
+ ~~~~~~~~~~~~~~~~~~~~~~
101
+ !!! error TS2871: This expression is always nullish.
86
102
87
103
const p10 = opt ?? null ?? 1;
104
+ ~~~~
105
+ !!! error TS2871: This expression is always nullish.
88
106
const p11 = opt ?? null ?? null;
107
+ ~~~~
108
+ !!! error TS2871: This expression is always nullish.
89
109
const p12 = opt ?? (null ?? 1);
90
110
~~~~
91
111
!!! error TS2871: This expression is always nullish.
@@ -94,20 +114,36 @@ predicateSemantics.ts(90,1): error TS2869: Right operand of ?? is unreachable be
94
114
!!! error TS2871: This expression is always nullish.
95
115
const p14 = opt ?? (null ?? null ?? null);
96
116
~~~~
97
- !!! error TS2870: This binary expression is never nullish. Are you missing parentheses?
117
+ !!! error TS2871: This expression is always nullish.
118
+ ~~~~
119
+ !!! error TS2871: This expression is always nullish.
98
120
const p15 = opt ?? (opt ? null : undefined) ?? null;
121
+ ~~~~~~~~~~~~~~~~~~~~~~
122
+ !!! error TS2871: This expression is always nullish.
99
123
const p16 = opt ?? 1 ?? 2;
124
+ ~
125
+ !!! error TS2881: This expression is never nullish.
100
126
const p17 = opt ?? (opt ? 1 : 2) ?? 3;
127
+ ~~~~~~~~~~~
128
+ !!! error TS2881: This expression is never nullish.
101
129
102
130
const p21 = null ?? null ?? null ?? null;
103
131
~~~~
104
- !!! error TS2870: This binary expression is never nullish. Are you missing parentheses?
132
+ !!! error TS2871: This expression is always nullish.
133
+ ~~~~
134
+ !!! error TS2871: This expression is always nullish.
135
+ ~~~~
136
+ !!! error TS2871: This expression is always nullish.
105
137
const p22 = null ?? 1 ?? 1;
106
138
~~~~
107
- !!! error TS2870: This binary expression is never nullish. Are you missing parentheses?
139
+ !!! error TS2871: This expression is always nullish.
140
+ ~
141
+ !!! error TS2881: This expression is never nullish.
108
142
const p23 = null ?? (opt ? 1 : 2) ?? 1;
109
143
~~~~
110
- !!! error TS2870: This binary expression is never nullish. Are you missing parentheses?
144
+ !!! error TS2871: This expression is always nullish.
145
+ ~~~~~~~~~~~
146
+ !!! error TS2881: This expression is never nullish.
111
147
112
148
// Outer expression tests
113
149
while ({} as any) { }
0 commit comments