diff --git a/tests/PHPStan/Analyser/nsrt/reset-after-non-empty-loop.php b/tests/PHPStan/Analyser/nsrt/reset-after-non-empty-loop.php new file mode 100644 index 0000000000..bb94c65ee8 --- /dev/null +++ b/tests/PHPStan/Analyser/nsrt/reset-after-non-empty-loop.php @@ -0,0 +1,26 @@ + $joins + */ +function mergeJoins(array $joins, string $s, string $hash): void +{ + if (count($joins) === 0) return; + assertType('non-empty-list', $joins); + + /** @var array> $aggregated */ + $aggregated = []; + foreach ($joins as $join) { + $aggregated[$s][$hash] = $s; + } + assertType('non-empty-array>', $aggregated); + + foreach ($aggregated as $sameJoins) { + $first = reset($sameJoins); + assertType('string', $first); + } +}