Commit 66ffa81
Fix IntegerRangeType count narrowing for falsey context with unbounded max
When the range has no upper bound (e.g. int<1, max>), the falsey context
should not narrow using the min value, as this incorrectly eliminates
arrays that could satisfy the condition for some (but not all) values
in the range. Only set sizeType when the context is truthy and min is
available, or when falsey and max is available.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent 638c010 commit 66ffa81
File tree
2 files changed
+9
-8
lines changed- src/Analyser
- tests/PHPStan/Analyser/nsrt
2 files changed
+9
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
280 | 280 | | |
281 | 281 | | |
282 | 282 | | |
| 283 | + | |
283 | 284 | | |
284 | 285 | | |
285 | 286 | | |
| |||
293 | 294 | | |
294 | 295 | | |
295 | 296 | | |
296 | | - | |
| 297 | + | |
297 | 298 | | |
298 | 299 | | |
299 | 300 | | |
300 | 301 | | |
301 | 302 | | |
302 | | - | |
303 | | - | |
304 | 303 | | |
305 | 304 | | |
306 | 305 | | |
307 | 306 | | |
308 | 307 | | |
309 | | - | |
310 | | - | |
311 | | - | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
312 | 313 | | |
313 | 314 | | |
314 | 315 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
25 | | - | |
| 24 | + | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
0 commit comments