Skip to content

Fix "offset might not exist" false-positives when offset is a expression #21995

Fix "offset might not exist" false-positives when offset is a expression

Fix "offset might not exist" false-positives when offset is a expression #21995

Triggered via pull request September 26, 2025 17:45
Status Failure
Total duration 11m 18s
Artifacts 9

phar.yml

on: pull_request
integration-tests  /  Check PHAR checksum
4s
integration-tests / Check PHAR checksum
Download base SHA PHAR
0s
Download base SHA PHAR
extension-tests  /  Check PHAR checksum
4s
extension-tests / Check PHAR checksum
other-tests  /  Check PHAR checksum
7s
other-tests / Check PHAR checksum
Commit PHAR
0s
Commit PHAR
Matrix: integration-tests / integration-run-phpstan
integration-tests  /  PMMP Tests
1m 22s
integration-tests / PMMP Tests
Matrix: integration-tests / integration-tests
Checksum PHAR
0s
Checksum PHAR
PHAR Prefix Diff
0s
PHAR Prefix Diff
Matrix: extension-tests / tests-extensions
Matrix: other-tests / Other Tests
integration-tests  /  Integration - Update baselines
0s
integration-tests / Integration - Update baselines
Fit to window
Zoom out
Zoom in

Annotations

55 errors and 1 notice
extension-tests / phpstan-mockery (8.5) make tests
Process completed with exit code 2.
integration-tests / Integration - shipmonk-rnd/dead-code-detector
Process completed with exit code 1.
integration-tests / Integration - shipmonk-rnd/dead-code-detector: src/Provider/SymfonyUsageProvider.php#L443
Property ShipMonk\PHPStan\DeadCode\Provider\SymfonyUsageProvider::$dicCalls (array<string, array<string, true>>) does not accept non-empty-array<string, mixed>.
integration-tests / Integration - nextras/orm
Process completed with exit code 1.
integration-tests / Integration - nextras/orm: src/Repository/IdentityMap.php#L181
Method Nextras\Orm\Repository\IdentityMap::createEntity() should return E of Nextras\Orm\Entity\IEntity but returns object.
integration-tests / Integration - nextras/orm: src/Repository/IdentityMap.php#L180
Call to an undefined method object::onLoad().
integration-tests / Integration - nextras/orm: src/Repository/IdentityMap.php#L179
Parameter #1 $entity of method Nextras\Orm\Repository\IRepository<E of Nextras\Orm\Entity\IEntity>::attach() expects E of Nextras\Orm\Entity\IEntity, object given.
integration-tests / Integration - efabrica-team/phpstan-latte: src/LatteContext/Finder/FormControlFinder.php#L60
Method Efabrica\PHPStanLatte\LatteContext\Finder\FormControlFinder::find() should return array<Efabrica\PHPStanLatte\Template\Form\ControlInterface> but returns array.
integration-tests / Integration - efabrica-team/phpstan-latte: src/LatteContext/Finder/FormControlFinder.php#L39
Property Efabrica\PHPStanLatte\LatteContext\Finder\FormControlFinder::$assignedFormControls (array<string, array<string, array<Efabrica\PHPStanLatte\Template\Form\ControlInterface>>>) does not accept array<string, mixed>.
integration-tests / Integration - efabrica-team/phpstan-latte: src/LatteContext/Finder/FilterFinder.php#L59
Method Efabrica\PHPStanLatte\LatteContext\Finder\FilterFinder::find() should return array<Efabrica\PHPStanLatte\Template\Filter> but returns array.
integration-tests / Integration - efabrica-team/phpstan-latte: src/LatteContext/Finder/FilterFinder.php#L37
Property Efabrica\PHPStanLatte\LatteContext\Finder\FilterFinder::$collectedFilters (array<string, array<string, array<Efabrica\PHPStanLatte\Template\Filter>>>) does not accept array<string, mixed>.
integration-tests / Integration - efabrica-team/phpstan-latte: src/LatteContext/Finder/ComponentFinder.php#L100
Method Efabrica\PHPStanLatte\LatteContext\Finder\ComponentFinder::find() should return array<Efabrica\PHPStanLatte\Template\Component> but returns array.
integration-tests / Integration - efabrica-team/phpstan-latte: src/Compiler/NodeVisitor/NodeVisitorStorage.php#L33
Property Efabrica\PHPStanLatte\Compiler\NodeVisitor\NodeVisitorStorage::$nodeVisitors (array<string, array<int, array<PhpParser\NodeVisitor>>>) does not accept array<string, mixed>.
integration-tests / Integration - efabrica-team/phpstan-latte: src/Analyser/LatteContextCollectorRegistry.php#L47
Method Efabrica\PHPStanLatte\Analyser\LatteContextCollectorRegistry::getCollectorsForNode() should return array<Efabrica\PHPStanLatte\LatteContext\Collector\AbstractLatteContextCollector> but returns array.
integration-tests / Integration - bladestan/bladestan
Process completed with exit code 1.
integration-tests / Integration - bladestan/bladestan: src/TemplateCompiler/PHPStan/FileAnalyserProvider.php#L59
Method Bladestan\TemplateCompiler\PHPStan\FileAnalyserProvider::provide() throws checked exception PHPStan\DependencyInjection\MissingServiceException but it's missing from the PHPDoc `@throws` tag.
integration-tests / Integration - bladestan/bladestan: src/NodeAnalyzer/ViewVariableAnalyzer.php#L50
Method Bladestan\NodeAnalyzer\ViewVariableAnalyzer::resolve() throws checked exception ValueError but it's missing from the PHPDoc `@throws` tag.
integration-tests / Integration - bladestan/bladestan: src/Compiler/LivewireTagCompiler.php#L116
Dead catch - RuntimeException is never thrown in the try block.
integration-tests / Integration - rectorphp/rector-src
Process completed with exit code 1.
integration-tests / Integration - efabrica-team/phpstan-latte tests
Process completed with exit code 1.
integration-tests / Integration - drupal/drupal
Process completed with exit code 1.
integration-tests / Integration - drupal/drupal: core/includes/theme.inc#L1470
Variable $items might not be defined.
integration-tests / Integration - drupal/drupal: core/includes/theme.inc#L1439
Ignored error pattern #^Variable \$items might not be defined\.$# (variable.undefined) in path /home/runner/work/phpstan-src/phpstan-src/e2e/integration/repo/core/includes/theme.inc is expected to occur 1 time, but occurred 2 times.
integration-tests / Integration - shopware/shopware
Process completed with exit code 1.
integration-tests / Integration - shopware/shopware: src/Core/System/SalesChannel/Validation/SalesChannelValidator.php#L154
Parameter &$mapping by-ref type of method Shopware\Core\System\SalesChannel\Validation\SalesChannelValidator::handleSalesChannelLanguageMapping() expects array<string, array{current_default: string, new_default: string, inserts: list<string>, updateId: string, deletions: list<string>, state: list<string>}>, non-empty-array<string, mixed> given.
integration-tests / Integration - shopware/shopware: src/Core/System/SalesChannel/Validation/SalesChannelValidator.php#L148
Parameter &$mapping by-ref type of method Shopware\Core\System\SalesChannel\Validation\SalesChannelValidator::handleSalesChannelLanguageMapping() expects array<string, array{current_default: string, new_default: string, inserts: list<string>, updateId: string, deletions: list<string>, state: list<string>}>, non-empty-array<string, mixed> given.
integration-tests / Integration - shopware/shopware: src/Core/System/SalesChannel/Validation/SalesChannelValidator.php#L127
Parameter &$mapping by-ref type of method Shopware\Core\System\SalesChannel\Validation\SalesChannelValidator::handleSalesChannelMapping() expects array<string, array{current_default: string, new_default: string, inserts: list<string>, updateId: string, deletions: list<string>, state: list<string>}>, non-empty-array<string, mixed> given.
integration-tests / Integration - shopware/shopware: src/Core/System/SalesChannel/Validation/SalesChannelValidator.php#L126
Parameter &$mapping by-ref type of method Shopware\Core\System\SalesChannel\Validation\SalesChannelValidator::handleSalesChannelMapping() expects array<string, array{current_default: string, new_default: string, inserts: list<string>, updateId: string, deletions: list<string>, state: list<string>}>, non-empty-array<string, mixed> given.
integration-tests / Integration - shopware/shopware: src/Core/Framework/Adapter/Database/MySQLFactory.php#L102
Parameter #1 $params of static method Doctrine\DBAL\DriverManager::getConnection() expects array{application_name?: string, charset?: string, dbname?: string, defaultTableOptions?: array<string, mixed>, driver?: 'ibm_db2'|'mysqli'|'oci8'|'pdo_mysql'|'pdo_oci'|'pdo_pgsql'|'pdo_sqlite'|'pdo_sqlsrv'|'pgsql'|'sqlite3'|'sqlsrv', driverClass?: class-string<Doctrine\DBAL\Driver>, driverOptions?: array<mixed>, host?: string, ...}, non-empty-array<literal-string&non-falsy-string, array|bool|int|string> given.
integration-tests / Integration - shopware/shopware: src/Core/Content/Cms/DataResolver/CmsSlotsDataResolver.php#L232
Parameter #1 $array (array<array{}>) to function array_filter contains falsy values only, the result will always be an empty array.
integration-tests / Integration - shopware/shopware: src/Core/Checkout/Promotion/Util/PromotionCodeService.php#L159
Parameter #1 $string of function str_split expects string, array|string given.
integration-tests / Integration - shopware/shopware: src/Core/Checkout/Cart/Order/OrderConverter.php#L163
Mixed variable in a `$deliveryB['shippingCosts']->...()` can skip important errors. Make sure the type is known
integration-tests / Integration - shopware/shopware: src/Core/Checkout/Cart/Order/OrderConverter.php#L163
Mixed variable in a `$deliveryA['shippingCosts']->...()` can skip important errors. Make sure the type is known
other-tests / Other Tests (7.4, windows-latest, cd e2e/name-conflict composer install cp ../../phpstan vendor/p...
The windows-latest label will migrate from Windows Server 2022 to Windows Server 2025 beginning September 2, 2025. For more information see https://github.com/actions/runner-images/issues/12677

Artifacts

Produced during runtime
Name Size Digest
baselines-bladestan-baseline.neon
572 Bytes
sha256:d14359830059dc1b5aaa708e2b17e61f2daf813809a42187e465bba5e6f654f5
baselines-drupal-baseline.neon
503 Bytes
sha256:ca1bc6e0b20871543fcb24949afb5e1bc60e7179c42a406dcaa0deb7698702de
baselines-efabrica-phpstan-latte-baseline.neon
1.19 KB
sha256:da58d26927109114679eebb59571b8158f7b500d039e08f4b2f4ef29a32a05d3
baselines-nextras-baseline.neon
428 Bytes
sha256:86d40227d6680247a2a5b59e7cb9523248cfa46d06bbe4fff7964e2306d998db
baselines-rector-baseline.neon
597 Bytes
sha256:57473b601ca5bf3638496cbef5991744a87a61b8d2604147df588f200a440111
baselines-shipmonk-dead-code-detector-baseline.neon
442 Bytes
sha256:5d6f86ca88c31b17dba9680efe022827eed53ef75773206276322e2a54142241
baselines-shopware-baseline.neon
1.89 KB
sha256:38d5655dd1e315368d97278a4ad1bf5b209144e127a58ee0346d45e24823d085
phar-file
3.67 MB
sha256:3ca412e4c77f74897f16836710712e3b15d84d343117c3d82c1f752142f9049c
phar-file-checksum
3.67 MB
sha256:c6e4502ac40d05490672edeb20ce96f4bae6803595ded58236d9f1a16e7f3c6e