Skip to content

Resolve self/parent/static in Closure::bind() scope #33627

Resolve self/parent/static in Closure::bind() scope

Resolve self/parent/static in Closure::bind() scope #33627

Triggered via pull request October 5, 2026 18:57
Status Failure
Total duration 15m 11s
Artifacts 2

tests.yml

on: pull_request
Matrix: Tests PHPUnit 12.x
Mutation Testing: changed files
18s
Mutation Testing: changed files
Determine levels tests matrix
1m 0s
Determine levels tests matrix
Matrix: Integration tests
Matrix: Tests PHPUnit 11.x
Matrix: Tests with old PHPUnit
Matrix: Mutation Testing
Matrix: Levels tests
Fit to window
Zoom out
Zoom in

Annotations

2 errors, 5 warnings, and 23 notices
Mutation Testing (8.4, ubuntu-latest)
Process completed with exit code 1.
Mutation Testing (8.3, ubuntu-latest)
Process completed with exit code 1.
Mutation Testing (8.4, ubuntu-latest): src/Rules/Methods/StaticMethodCallCheck.php#L295
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ && ( !$function instanceof MethodReflection || $function->isStatic() - || $scopeIsInMethodClassOrSubClass->no() + || !$scopeIsInMethodClassOrSubClass->yes() ) ) { // per php-src docs, this method can be called statically, even if declared non-static
Mutation Testing (8.4, ubuntu-latest): src/Rules/Methods/StaticMethodCallCheck.php#L291
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ ); } if ( - !$boundThisIsMethodClassOrSubClass->yes() + $boundThisIsMethodClassOrSubClass->no() && ( !$function instanceof MethodReflection || $function->isStatic()
Mutation Testing (8.4, ubuntu-latest): src/Rules/Methods/StaticMethodCallCheck.php#L283
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ // a closure bound with a $this calls instance methods of that $this's class $boundThisIsMethodClassOrSubClass = TrinaryLogic::createNo(); $objectClassNames = $classType->getObjectClassNames(); - if ($objectClassNames !== [] && $scope->isInClosureBind() && $scope->hasVariableType('this')->yes()) { + if ($objectClassNames !== [] && $scope->isInClosureBind() && !$scope->hasVariableType('this')->no()) { $boundThisType = $scope->getVariableType('this'); $boundThisIsMethodClassOrSubClass = TrinaryLogic::createYes()->lazyAnd( $objectClassNames,
Mutation Testing (8.3, ubuntu-latest): src/Rules/Methods/StaticMethodCallCheck.php#L291
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ ); } if ( - !$boundThisIsMethodClassOrSubClass->yes() + $boundThisIsMethodClassOrSubClass->no() && ( !$function instanceof MethodReflection || $function->isStatic()
Mutation Testing (8.3, ubuntu-latest): src/Rules/Methods/StaticMethodCallCheck.php#L283
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ // a closure bound with a $this calls instance methods of that $this's class $boundThisIsMethodClassOrSubClass = TrinaryLogic::createNo(); $objectClassNames = $classType->getObjectClassNames(); - if ($objectClassNames !== [] && $scope->isInClosureBind() && $scope->hasVariableType('this')->yes()) { + if ($objectClassNames !== [] && $scope->isInClosureBind() && !$scope->hasVariableType('this')->no()) { $boundThisType = $scope->getVariableType('this'); $boundThisIsMethodClassOrSubClass = TrinaryLogic::createYes()->lazyAnd( $objectClassNames,
Mutation Testing: changed files
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Determine levels tests matrix
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Integration tests (ubuntu-latest)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Tests with old PHPUnit (7.4, ubuntu-latest)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Tests PHPUnit 12.x (8.3, ubuntu-latest)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Tests PHPUnit 12.x (8.6, ubuntu-latest)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Tests with old PHPUnit (8.1, ubuntu-latest)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Tests PHPUnit 12.x (8.5, ubuntu-latest)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Levels tests (php vendor/bin/phpunit 'tests/PHPStan/Levels/LevelsIntegrationTest.php' --filter 'P...
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Levels tests (php vendor/bin/phpunit 'tests/PHPStan/Generics/GenericsIntegrationTest.php' --filte...
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Levels tests (php vendor/bin/phpunit 'tests/PHPStan/Levels/LevelsIntegrationTest.php' --filter 'P...
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Levels tests (php vendor/bin/phpunit 'tests/PHPStan/Levels/LevelsIntegrationTest.php' --filter 'P...
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Levels tests (php vendor/bin/phpunit 'tests/PHPStan/Levels/NamedArgumentsIntegrationTest.php' --f...
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Levels tests (php vendor/bin/phpunit 'tests/PHPStan/Levels/LevelsIntegrationTest.php' --filter 'P...
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Levels tests (php vendor/bin/phpunit 'tests/PHPStan/Levels/LevelsIntegrationTest.php' --filter 'P...
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Tests PHPUnit 11.x (8.2, ubuntu-latest)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Tests with old PHPUnit (8.0, ubuntu-latest)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Levels tests (php vendor/bin/phpunit 'tests/PHPStan/Levels/LevelsIntegrationTest.php' --filter 'P...
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Levels tests (php vendor/bin/phpunit 'tests/PHPStan/Generics/GenericsIntegrationTest.php' --filte...
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Levels tests (php vendor/bin/phpunit 'tests/PHPStan/Generics/GenericsIntegrationTest.php' --filte...
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Tests PHPUnit 12.x (8.4, ubuntu-latest)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Mutation Testing (8.4, ubuntu-latest)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Mutation Testing (8.3, ubuntu-latest)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"

Artifacts

Produced during runtime
Name Size Digest
coverage-reports
29.5 MB
sha256:1af5dfb767a52725bff41dbf5242246c783462bafed5efd9ce4db70f06269d3d
coverage-reports
30.2 MB
sha256:5f972ee2ad196188dee9a08c0e7b7bc7f3d3b6877ae5ecc0eddb5056081ca0ce