Skip to content

Fix #13563: Closure / Arrow functions type difference when an array is reset #25392

Fix #13563: Closure / Arrow functions type difference when an array is reset

Fix #13563: Closure / Arrow functions type difference when an array is reset #25392

Triggered via pull request February 12, 2026 15:30
Status Failure
Total duration 14m 7s
Artifacts

tests.yml

on: pull_request
Matrix: Tests PHPUnit 12.x
Determine levels tests matrix
39s
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

6 errors and 2 warnings
Tests with old PHPUnit (7.4, ubuntu-latest)
Process completed with exit code 2.
Tests with old PHPUnit (7.4, windows-latest)
Process completed with exit code 1.
Mutation Testing (8.3, ubuntu-latest)
Process completed with exit code 1.
Mutation Testing (8.3, ubuntu-latest)
the remote end hung up unexpectedly
Mutation Testing (8.3, ubuntu-latest)
could not read Username for 'https://github.com': terminal prompts disabled
Mutation Testing (8.4, ubuntu-latest)
Process completed with exit code 1.
Mutation Testing (8.3, ubuntu-latest): src/Analyser/MutatingScope.php#L2949
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $expressionTypes = $this->invalidateStaticExpressions($arrowFunctionScope->expressionTypes); $nativeExpressionTypes = $arrowFunctionScope->nativeExpressionTypes; - if (!$arrowFunction->static && $this->hasVariableType('this')->yes()) { + if (!$arrowFunction->static && !$this->hasVariableType('this')->no()) { $expressionTypes = $this->invalidateNonReadonlyThisPropertyFetches($expressionTypes); $nativeExpressionTypes = $this->invalidateNonReadonlyThisPropertyFetches($nativeExpressionTypes); }
Mutation Testing (8.4, ubuntu-latest): src/Analyser/MutatingScope.php#L2949
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $expressionTypes = $this->invalidateStaticExpressions($arrowFunctionScope->expressionTypes); $nativeExpressionTypes = $arrowFunctionScope->nativeExpressionTypes; - if (!$arrowFunction->static && $this->hasVariableType('this')->yes()) { + if (!$arrowFunction->static && !$this->hasVariableType('this')->no()) { $expressionTypes = $this->invalidateNonReadonlyThisPropertyFetches($expressionTypes); $nativeExpressionTypes = $this->invalidateNonReadonlyThisPropertyFetches($nativeExpressionTypes); }