Skip to content

feat: add dynamic parameter type extensions #25723

feat: add dynamic parameter type extensions

feat: add dynamic parameter type extensions #25723

Triggered via pull request February 18, 2026 09:20
Status Failure
Total duration 14m 57s
Artifacts

tests.yml

on: pull_request
Matrix: Tests PHPUnit 12.x
Determine levels tests matrix
33s
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 10 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.4, ubuntu-latest)
Process completed with exit code 1.
Mutation Testing (8.3, ubuntu-latest): src/Rules/Functions/ClosureReturnTypeRule.php#L38
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $returnType = $scope->getAnonymousFunctionReturnType(); $overriddenType = $node->getOverriddenType(); - if ($overriddenType !== null && $overriddenType->isCallable()->yes()) { + if ($overriddenType !== null && !$overriddenType->isCallable()->no()) { $returnType = TypeCombinator::union(...array_map( static fn ($a) => $a->getReturnType(), $overriddenType->getCallableParametersAcceptors($scope),
Mutation Testing (8.3, ubuntu-latest): src/Analyser/NodeScopeResolver.php#L5326
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ if ($overriddenType instanceof UnionType) { $overriddenType = $overriddenType->filterTypes(static fn (Type $innerType) => $innerType->isCallable()->yes()); - if ($overriddenType->isCallable()->no()) { + if (!$overriddenType->isCallable()->yes()) { return null; } }
Mutation Testing (8.3, ubuntu-latest): src/Analyser/NodeScopeResolver.php#L5324
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ } } elseif ($overriddenType !== null && !$overriddenType->isCallable()->no()) { if ($overriddenType instanceof UnionType) { - $overriddenType = $overriddenType->filterTypes(static fn (Type $innerType) => $innerType->isCallable()->yes()); + $overriddenType = $overriddenType->filterTypes(static fn (Type $innerType) => !$innerType->isCallable()->no()); if ($overriddenType->isCallable()->no()) { return null;
Mutation Testing (8.3, ubuntu-latest): src/Analyser/NodeScopeResolver.php#L5322
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ ); } } - } elseif ($overriddenType !== null && !$overriddenType->isCallable()->no()) { + } elseif ($overriddenType !== null && $overriddenType->isCallable()->yes()) { if ($overriddenType instanceof UnionType) { $overriddenType = $overriddenType->filterTypes(static fn (Type $innerType) => $innerType->isCallable()->yes());
Mutation Testing (8.3, ubuntu-latest): src/Analyser/NodeScopeResolver.php#L3632
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ } $overriddenValueType = null; - if ($overriddenType !== null && $overriddenType->hasOffsetValueType($keyType)->yes()) { + if ($overriddenType !== null && !$overriddenType->hasOffsetValueType($keyType)->no()) { $overriddenValueType = $overriddenType->getOffsetValueType($keyType); }
Mutation Testing (8.4, ubuntu-latest): src/Rules/Functions/ClosureReturnTypeRule.php#L38
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $returnType = $scope->getAnonymousFunctionReturnType(); $overriddenType = $node->getOverriddenType(); - if ($overriddenType !== null && $overriddenType->isCallable()->yes()) { + if ($overriddenType !== null && !$overriddenType->isCallable()->no()) { $returnType = TypeCombinator::union(...array_map( static fn ($a) => $a->getReturnType(), $overriddenType->getCallableParametersAcceptors($scope),
Mutation Testing (8.4, ubuntu-latest): src/Analyser/NodeScopeResolver.php#L5326
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ if ($overriddenType instanceof UnionType) { $overriddenType = $overriddenType->filterTypes(static fn (Type $innerType) => $innerType->isCallable()->yes()); - if ($overriddenType->isCallable()->no()) { + if (!$overriddenType->isCallable()->yes()) { return null; } }
Mutation Testing (8.4, ubuntu-latest): src/Analyser/NodeScopeResolver.php#L5324
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ } } elseif ($overriddenType !== null && !$overriddenType->isCallable()->no()) { if ($overriddenType instanceof UnionType) { - $overriddenType = $overriddenType->filterTypes(static fn (Type $innerType) => $innerType->isCallable()->yes()); + $overriddenType = $overriddenType->filterTypes(static fn (Type $innerType) => !$innerType->isCallable()->no()); if ($overriddenType->isCallable()->no()) { return null;
Mutation Testing (8.4, ubuntu-latest): src/Analyser/NodeScopeResolver.php#L5322
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ ); } } - } elseif ($overriddenType !== null && !$overriddenType->isCallable()->no()) { + } elseif ($overriddenType !== null && $overriddenType->isCallable()->yes()) { if ($overriddenType instanceof UnionType) { $overriddenType = $overriddenType->filterTypes(static fn (Type $innerType) => $innerType->isCallable()->yes());
Mutation Testing (8.4, ubuntu-latest): src/Analyser/NodeScopeResolver.php#L3632
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ } $overriddenValueType = null; - if ($overriddenType !== null && $overriddenType->hasOffsetValueType($keyType)->yes()) { + if ($overriddenType !== null && !$overriddenType->hasOffsetValueType($keyType)->no()) { $overriddenValueType = $overriddenType->getOffsetValueType($keyType); }