Skip to content

Commit 625069a

Browse files
committed
Improve count on list with greater/smaller-than
1 parent ab48233 commit 625069a

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

tests/PHPStan/Analyser/nsrt/bug-11642.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ function doFoo() {
3434
if (count($entries) !== count($payload->ids)) {
3535
exit();
3636
}
37+
assertType('int<1, max>', count($entries));
3738

3839
assertType('non-empty-list<stdClass>', $entries);
3940
if (count($entries) > 3) {
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php declare(strict_types = 1);
2+
3+
use function PHPStan\dumpType;
4+
use function PHPStan\Testing\assertType;
5+
6+
class HelloWorld
7+
{
8+
/** @param list<int> $list */
9+
public function sayHello($list): void
10+
{
11+
if (count($list) === 0) {
12+
return;
13+
}
14+
15+
if (count($list) > 2) {
16+
assertType('non-empty-list<int>&hasOffsetValue(0, int)&hasOffsetValue(1, int)&hasOffsetValue(2, int)', $list);
17+
} else {
18+
assertType('non-empty-list<int>', $list);
19+
}
20+
}
21+
}

0 commit comments

Comments
 (0)