Skip to content

Fix phpstan/phpstan#13637: Array might not have offset, if array is deep #25891

Fix phpstan/phpstan#13637: Array might not have offset, if array is deep

Fix phpstan/phpstan#13637: Array might not have offset, if array is deep #25891

Triggered via pull request March 9, 2026 17:27
Status Failure
Total duration 10m 20s
Artifacts 11

phar.yml

on: pull_request
Compiler Tests
2m 4s
Compiler Tests
integration-tests  /  Check PHAR checksum
14s
integration-tests / Check PHAR checksum
Download base SHA PHAR
0s
Download base SHA PHAR
extension-tests  /  Check PHAR checksum
14s
extension-tests / Check PHAR checksum
other-tests  /  Check PHAR checksum
14s
other-tests / Check PHAR checksum
Commit PHAR
Commit PHAR
Matrix: integration-tests / integration-run-phpstan
integration-tests  /  PMMP Tests
1m 33s
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
integration-tests / Integration - Update baselines
Fit to window
Zoom out
Zoom in

Annotations

50 errors and 3 warnings
integration-tests / Integration - efabrica-team/phpstan-latte
Process completed with exit code 1.
integration-tests / Integration - efabrica-team/phpstan-latte: src/Resolver/ValueResolver/ValueResolver.php#L92
Parameter #2 $array of function implode expects array<string>, list<mixed> given.
integration-tests / Integration - efabrica-team/phpstan-latte: src/Compiler/Compiler/Latte3Compiler.php#L35
Call to function is_array() with list<Latte\Extension> will always evaluate to true.
integration-tests / Integration - doctrine/dbal
Process completed with exit code 1.
integration-tests / Integration - doctrine/dbal: src/Driver/PDO/SQLSrv/Driver.php#L98
Only booleans are allowed in a ternary operator condition, mixed given.
integration-tests / Integration - shipmonk-rnd/dead-code-detector
Process completed with exit code 1.
integration-tests / Integration - shipmonk-rnd/dead-code-detector
Process completed with exit code 1.
integration-tests / Integration - shipmonk-rnd/dead-code-detector
Internal error: PHPStan\Analyser\NodeScopeResolver::processExprNode(): Argument #4 ($storage) must be of type PHPStan\Analyser\ExpressionResultStorage, Closure given, called in /home/runner/work/phpstan-src/phpstan-src/e2e/integration/repo/vendor/shipmonk/phpstan-rules/src/Rule/ForbidCheckedExceptionInCallableRule.php on line 239 while analysing file /home/runner/work/phpstan-src/phpstan-src/e2e/integration/repo/src/Compatibility/BackwardCompatibilityChecker.php Run PHPStan with -v option and post the stack trace to: https://github.com/phpstan/phpstan/issues/new?template=Bug_report.yaml
integration-tests / Integration - doctrine/orm
Process completed with exit code 1.
integration-tests / Integration - doctrine/orm: src/Mapping/ClassMetadata.php#L1449
Parameter #1 $mappingArray of static method Doctrine\ORM\Mapping\AssociationMapping::fromMappingArray() expects array{fieldName: string, sourceEntity: class-string, targetEntity: class-string, cascade?: list<'all'|'detach'|'persist'|'refresh'|'remove'>, fetch?: 2|3|4|null, inherited?: class-string|null, declared?: class-string|null, cache?: array<mixed>|null, ...}, non-empty-array<mixed> given.
integration-tests / Integration - doctrine/orm: src/Mapping/ClassMetadata.php#L1448
Parameter #1 $mappingArray of static method Doctrine\ORM\Mapping\ManyToManyOwningSideMapping::fromMappingArrayAndNamingStrategy() expects array{fieldName: string, sourceEntity: class-string, targetEntity: class-string, cascade?: list<'all'|'detach'|'persist'|'refresh'|'remove'>, fetch?: 2|3|4|null, inherited?: class-string|null, declared?: class-string|null, cache?: array<mixed>|null, ...}, non-empty-array<mixed> given.
integration-tests / Integration - doctrine/orm: src/Mapping/ClassMetadata.php#L1440
Parameter #1 $mappingArray of static method Doctrine\ORM\Mapping\OneToManyAssociationMapping::fromMappingArrayAndName() expects array{fieldName: string, sourceEntity: class-string, targetEntity: class-string, cascade?: list<'all'|'detach'|'persist'|'refresh'|'remove'>, fetch?: 2|3|4|null, inherited?: class-string|null, declared?: class-string|null, cache?: array<mixed>|null, ...}, non-empty-array<mixed> given.
integration-tests / Integration - doctrine/orm: src/Mapping/ClassMetadata.php#L1432
Parameter #1 $mappingArray of static method Doctrine\ORM\Mapping\ToOneOwningSideMapping::fromMappingArrayAndName() expects array{fieldName: string, sourceEntity: class-string, targetEntity: class-string, cascade?: list<'all'|'detach'|'persist'|'refresh'|'remove'>, fetch?: 2|3|4|null, inherited?: class-string|null, declared?: class-string|null, cache?: array<mixed>|null, ...}, non-empty-array<mixed> given.
integration-tests / Integration - doctrine/orm: src/Mapping/ClassMetadata.php#L1428
Parameter #1 $mappingArray of static method Doctrine\ORM\Mapping\ToOneInverseSideMapping::fromMappingArrayAndName() expects array{fieldName: string, sourceEntity: class-string, targetEntity: class-string, cascade?: list<'all'|'detach'|'persist'|'refresh'|'remove'>, fetch?: 2|3|4|null, inherited?: class-string|null, declared?: class-string|null, cache?: array<mixed>|null, ...}, non-empty-array<mixed> given.
integration-tests / Integration - doctrine/orm: src/Mapping/ClassMetadata.php#L1422
Parameter #1 $mappingArray of static method Doctrine\ORM\Mapping\ToOneOwningSideMapping::fromMappingArrayAndName() expects array{fieldName: string, sourceEntity: class-string, targetEntity: class-string, cascade?: list<'all'|'detach'|'persist'|'refresh'|'remove'>, fetch?: 2|3|4|null, inherited?: class-string|null, declared?: class-string|null, cache?: array<mixed>|null, ...}, non-empty-array<mixed> given.
integration-tests / Integration - Roave/BetterReflection
Process completed with exit code 1.
integration-tests / Integration - Roave/BetterReflection: src/Util/FileHelper.php#L46
Offset 2 might not exist on non-empty-list{0?: string, 1?: non-empty-string, 2?: non-empty-string}.
integration-tests / Integration - Roave/BetterReflection: src/Util/FileHelper.php#L46
Offset 1 might not exist on non-empty-list{0?: string, 1?: non-empty-string, 2?: non-empty-string}.
integration-tests / PMMP Tests: src/item/Item.php#L741
Cannot cast mixed to int.
integration-tests / PMMP Tests: src/item/Item.php#L740
Cannot cast mixed to int.
integration-tests / PMMP Tests: src/item/Item.php#L739
Cannot cast mixed to int.
integration-tests / PMMP Tests: src/command/defaults/WhitelistCommand.php#L92
Parameter #2 $array of function implode expects array<string>, list<mixed> given.
integration-tests / PMMP Tests: src/command/defaults/WhitelistCommand.php#L91
Parameter #1 $array of function sort expects an array of values castable to string, array<mixed> given.
integration-tests / PMMP Tests: src/command/defaults/TeleportCommand.php#L101
Casting to *NEVER* something that's already *NEVER*.
integration-tests / PMMP Tests: src/command/defaults/TeleportCommand.php#L100
Casting to *NEVER* something that's already *NEVER*.
integration-tests / PMMP Tests: src/Server.php#L1192
Cannot cast mixed to string.
integration-tests / PMMP Tests: src/Server.php#L758
Ignored error pattern #^Cannot cast mixed to string\.$# (cast.string) in path /home/runner/work/phpstan-src/phpstan-src/e2e/integration/repo/src/Server.php is expected to occur 1 time, but occurred 2 times.
integration-tests / PMMP Tests: build/generate-block-serializer-consts.php#L181
Parameter #1 $array of function sort expects an array of values castable to string, array<mixed> given.
integration-tests / Integration - laravel/framework
Process completed with exit code 1.
integration-tests / Integration - laravel/framework: src/Illuminate/View/Compilers/ComponentTagCompiler.php#L345
No error with identifier variable.undefined is reported on line 345.
integration-tests / Integration - laravel/framework: src/Illuminate/View/Compilers/ComponentTagCompiler.php#L344
No error with identifier variable.undefined is reported on line 344.
integration-tests / Integration - laravel/framework: src/Illuminate/View/Compilers/ComponentTagCompiler.php#L343
No error with identifier variable.undefined is reported on line 343.
integration-tests / Integration - laravel/framework: src/Illuminate/Mail/Mailable.php#L268
No error with identifier callable.nonNativeMethod is reported on line 268.
integration-tests / Integration - laravel/framework: src/Illuminate/Http/Client/PendingRequest.php#L1081
Variable $shouldRetry on left side of ?? always exists and is always null.
integration-tests / Integration - laravel/framework: src/Illuminate/Foundation/Console/RouteListCommand.php#L406
Variable $action on left side of ?? always exists and is not nullable.
integration-tests / Integration - drupal/drupal
Process completed with exit code 1.
integration-tests / Integration - drupal/drupal: core/tests/Drupal/Tests/PerformanceTestTrait.php (in context of class Drupal/FunctionalJavascriptTests/PerformanceTestBase)#L166
Offset 'delete' on array{}|array{get: non-empty-array<*NEVER*, non-empty-list<*NEVER*>>} in isset() does not exist.
integration-tests / Integration - shopware/shopware: src/Core/Profiling/Doctrine/ConnectionProfiler.php#L168
Method Shopware\Core\Profiling\Doctrine\ConnectionProfiler::getGroupedQueries() should return array<string, array<int, array{sql: string, executionMS: float, types: array<int|string, Doctrine\DBAL\ParameterType|int>, params: Symfony\Component\VarDumper\Cloner\Data, runnable: bool, explainable: bool, backtrace?: list<array{function: string, line?: int, file?: string, class?: class-string, type?: '->'|'::', args?: list<mixed>, object?: object}>, count: int, ...}>> but returns array<string, list<array<'backtrace'|'count'|'executionMS'|'executionPercent'|'explainable'|'index'|'params'|'runnable'|'sql'|'types', array<int|string, array{function: string, line?: int, file?: string, class?: class-string, type?: '->'|'::', args?: list<mixed>, object?: object}|Doctrine\DBAL\ParameterType|int>|bool|float|int|string|Symfony\Component\VarDumper\Cloner\Data>>>.
integration-tests / Integration - shopware/shopware: src/Core/Installer/Controller/FinishController.php#L72
Offset 'host' might not exist on non-empty-array{scheme?: string, host?: string, port?: int<0, 65535>, user?: string, pass?: string, path?: string, query?: string, fragment?: string}.
integration-tests / Integration - shopware/shopware: src/Core/Framework/DataAbstractionLayer/Search/Criteria.php#L499
Parameter #1 $ids of class Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria constructor expects array<string>|null, array<array<string>|string> given.
integration-tests / Integration - shopware/shopware: src/Core/DevOps/Test/AnnotationTagTester.php#L151
Offset 4 might not exist on non-empty-list{0?: string, 1?: non-empty-string|null, 2?: string|null, 3?: non-empty-string|null, 4?: string|null}.
integration-tests / Integration - shopware/shopware: src/Core/DevOps/Test/AnnotationTagTester.php#L151
Offset 3 might not exist on non-empty-list{0?: string, 1?: non-empty-string|null, 2?: string|null, 3?: non-empty-string|null, 4?: string|null}.
integration-tests / Integration - shopware/shopware: src/Core/DevOps/Test/AnnotationTagTester.php#L150
Offset 2 might not exist on non-empty-list{0?: string, 1?: non-empty-string|null, 2?: string|null, 3?: non-empty-string|null, 4?: string|null}.
integration-tests / Integration - shopware/shopware: src/Core/DevOps/Test/AnnotationTagTester.php#L150
Offset 1 might not exist on non-empty-list{0?: string, 1?: non-empty-string|null, 2?: string|null, 3?: non-empty-string|null, 4?: string|null}.
integration-tests / Integration - shopware/shopware: src/Core/Checkout/Cart/LineItemFactoryRegistry.php#L99
Parameter #2 $data of method Shopware\Core\Checkout\Cart\LineItemFactoryHandler\LineItemFactoryInterface::update() expects array<string, mixed>, array<int|string, mixed> given.
integration-tests / Integration - shopware/shopware: src/Core/Checkout/Cart/LineItemFactoryRegistry.php#L54
Parameter #1 $data of method Shopware\Core\Checkout\Cart\LineItemFactoryHandler\LineItemFactoryInterface::create() expects array<string, mixed>, array<int|string, mixed> given.
other-tests / Other Tests (7.4, windows-latest, cd e2e/name-conflict composer install cp ../../phpstan vendor/p...
Environment variable 'INPUT_GITHUB_CONTEXT' exceeds the maximum supported length. Environment variable length: 34008 , Maximum supported length: 32766
other-tests / Other Tests (7.4, windows-latest, cd e2e/name-conflict composer install cp ../../phpstan vendor/p...
Environment variable 'INPUT_GITHUB_CONTEXT' exceeds the maximum supported length. Environment variable length: 34008 , Maximum supported length: 32766
other-tests / Other Tests (7.4, windows-latest, cd e2e/name-conflict composer install cp ../../phpstan vendor/p...
Environment variable 'INPUT_GITHUB_CONTEXT' exceeds the maximum supported length. Environment variable length: 34008 , Maximum supported length: 32766

Artifacts

Produced during runtime
Name Size Digest
baselines-better-reflection-baseline.neon
363 Bytes
sha256:748caeadf7b1f44bed64ba751aa8a3f01cb553c1451bd0f7a0b234e7011f1035
baselines-doctrine-dbal-baseline.neon
1010 Bytes
sha256:d7ecd44bca86bc8a4489e8afc40e02517e2668739f3c2046be1a037c49548b4f
baselines-doctrine-orm-baseline.neon
1.16 KB
sha256:87a9c8862b1181f540e992883002d94d08950ade5afcc6517e311221deb819fd
baselines-drupal-baseline.neon
1.23 KB
sha256:962c0a559e3b54601fe13946690a943814415d548d4e754cc215c2345b01492f
baselines-efabrica-phpstan-latte-baseline.neon
706 Bytes
sha256:fbb97cdbeee8050a455c421c6b7cd7105b8a24ffdbdd1896820e07f290a1f788
baselines-laravel-baseline.neon
384 Bytes
sha256:4aa62074174aa721f67a877e3b342071e16fecec986f4293904cac9a514847cc
baselines-shipmonk-dead-code-detector-baseline.neon
228 Bytes
sha256:3fe6c0a39bb7d945ef7ca2a06999f9867f26a96e5272dc048b441f8684e4f092
baselines-shopware-baseline.neon
10.8 KB
sha256:652c9031613c1a004a3b7b8437b746821427f087f31861c86cdba82bb78c4dff
phar-file
3.76 MB
sha256:b9576632cd17e1e8db7336d437f13c3f589ae0de0b744e1b8f216a5d2eb7df6d
phar-file-checksum
3.76 MB
sha256:db525339a7a1c3e7e1378866afccf171b626681b1db5ecc23666d45d2b8720e4
pocketmine-ng-baseline.neon
1.23 KB
sha256:f4667f305c9c6f077219299cff47fa75e93bc12cccaf1fa7b45402334afcde16