Skip to content

Fix phpstan/phpstan#13247: iterable is equal to array|Traversable #25774

Fix phpstan/phpstan#13247: iterable is equal to array|Traversable

Fix phpstan/phpstan#13247: iterable is equal to array|Traversable #25774

Triggered via pull request March 7, 2026 17:47
Status Failure
Total duration 9m 39s
Artifacts 11

phar.yml

on: pull_request
Compiler Tests
2m 9s
Compiler Tests
integration-tests  /  Check PHAR checksum
13s
integration-tests / Check PHAR checksum
Download base SHA PHAR
0s
Download base SHA PHAR
extension-tests  /  Check PHAR checksum
13s
extension-tests / Check PHAR checksum
other-tests  /  Check PHAR checksum
14s
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

50 errors and 7 warnings
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/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 - 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 / 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/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 / 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/Storefront/Controller/ContextController.php#L126
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/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: 34348 , 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: 34348 , 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: 34348 , Maximum supported length: 32766
other-tests / Other Tests (8.2, ubuntu-latest, cd e2e/discussion-8502 composer install cp ../../phpstan vendor/...
Failed to download action 'https://api.github.com/repos/step-security/harden-runner/tarball/5ef0c079ce82195b2a36a210272d6b661572d83e'. Error: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.
other-tests / Other Tests (8.2, ubuntu-latest, cd e2e/discussion-8502 composer install cp ../../phpstan vendor/...
Failed to download action 'https://api.github.com/repos/step-security/harden-runner/tarball/5ef0c079ce82195b2a36a210272d6b661572d83e'. Error: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.

Artifacts

Produced during runtime
Name Size Digest
baselines-better-reflection-baseline.neon
363 Bytes
sha256:f5795b941368c0313e8699f1502aa5c7ca5daf844549f850c265e91f3e776f3c
baselines-doctrine-dbal-baseline.neon
1010 Bytes
sha256:ef85472caea9ad2a2d7dd2ef36a09ac2ed3031fc40d49bf5d3048567c179902b
baselines-doctrine-orm-baseline.neon
1.16 KB
sha256:3bc717236ab9fd111312ffeccfd4575b49c363b3913c0bd6ddd3283ab975eb15
baselines-drupal-baseline.neon
1.23 KB
sha256:55a50a7e337ce6644953bebfac6459f4fbffd526ddb1073398e34682850581f2
baselines-efabrica-phpstan-latte-baseline.neon
706 Bytes
sha256:bcd7ab65f2dc9b16ebe598f995834b57124479f8bc27c2984ab55c34b46a061c
baselines-laravel-baseline.neon
384 Bytes
sha256:ff1f38d65f163300c0bc310ba55f5f9ee9d17d02f5fbfc67c51c1c52fe2d68a4
baselines-shipmonk-dead-code-detector-baseline.neon
228 Bytes
sha256:84fa5cdd057280d2bd0893f45f68419668af233d30ba89fe8b54bd38f43fdc2c
baselines-shopware-baseline.neon
10.5 KB
sha256:78a9158a668f934a46e83a5ce8b42fc15771ad3c04db2c2cf014c526affb8392
phar-file
3.75 MB
sha256:fde3c03374bb5c0937ca7549762a74053d3bb7733576e5301185a5170645407c
phar-file-checksum
3.75 MB
sha256:81ea81036488e9cbffd00d73d5f9f65a779db0ca5c74966dc9336d947a5a0a70
pocketmine-ng-baseline.neon
1.23 KB
sha256:872b9193dd2f19ae02982c3a8e7cba3affab0460b5d6f8b67e7abdca7d13d17a