Skip to content

Fix phpstan/phpstan#4296: BleedingEdge: Offset '1234' on array<string, Test>&nonEmpty in isset() does not exist. #26488

Fix phpstan/phpstan#4296: BleedingEdge: Offset '1234' on array<string, Test>&nonEmpty in isset() does not exist.

Fix phpstan/phpstan#4296: BleedingEdge: Offset '1234' on array<string, Test>&nonEmpty in isset() does not exist. #26488

Triggered via pull request March 8, 2026 11:42
Status Failure
Total duration 13m 54s
Artifacts

tests.yml

on: pull_request
Matrix: Tests PHPUnit 12.x
Determine levels tests matrix
42s
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 and 8 warnings
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/Type/ArrayType.php#L297
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $originalOffsetType = $offsetType; $offsetType = $offsetType->toArrayKey(); if ($this->getKeyType()->isSuperTypeOf($offsetType)->no() - && $this->getKeyType()->isSuperTypeOf($originalOffsetType)->no() + && !$this->getKeyType()->isSuperTypeOf($originalOffsetType)->yes() && ($offsetType->isString()->no() || !$offsetType->isConstantScalarValue()->no()) ) { return new ErrorType();
Mutation Testing (8.4, ubuntu-latest): src/Type/ArrayType.php#L297
Escaped Mutant for Mutator "PHPStan\Infection\IsSuperTypeOfCalleeAndArgumentMutator": @@ @@ $originalOffsetType = $offsetType; $offsetType = $offsetType->toArrayKey(); if ($this->getKeyType()->isSuperTypeOf($offsetType)->no() - && $this->getKeyType()->isSuperTypeOf($originalOffsetType)->no() + && $originalOffsetType->isSuperTypeOf($this->getKeyType())->no() && ($offsetType->isString()->no() || !$offsetType->isConstantScalarValue()->no()) ) { return new ErrorType();
Mutation Testing (8.4, ubuntu-latest): src/Type/ArrayType.php#L283
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $offsetType = $offsetArrayKeyType; if ($this->getKeyType()->isSuperTypeOf($offsetType)->no() - && $this->getKeyType()->isSuperTypeOf($originalOffsetType)->no() + && !$this->getKeyType()->isSuperTypeOf($originalOffsetType)->yes() && ($offsetType->isString()->no() || !$offsetType->isConstantScalarValue()->no()) ) { return TrinaryLogic::createNo();
Mutation Testing (8.4, ubuntu-latest): src/Type/ArrayType.php#L283
Escaped Mutant for Mutator "PHPStan\Infection\IsSuperTypeOfCalleeAndArgumentMutator": @@ @@ $offsetType = $offsetArrayKeyType; if ($this->getKeyType()->isSuperTypeOf($offsetType)->no() - && $this->getKeyType()->isSuperTypeOf($originalOffsetType)->no() + && $originalOffsetType->isSuperTypeOf($this->getKeyType())->no() && ($offsetType->isString()->no() || !$offsetType->isConstantScalarValue()->no()) ) { return TrinaryLogic::createNo();
Mutation Testing (8.3, ubuntu-latest): src/Type/ArrayType.php#L297
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $originalOffsetType = $offsetType; $offsetType = $offsetType->toArrayKey(); if ($this->getKeyType()->isSuperTypeOf($offsetType)->no() - && $this->getKeyType()->isSuperTypeOf($originalOffsetType)->no() + && !$this->getKeyType()->isSuperTypeOf($originalOffsetType)->yes() && ($offsetType->isString()->no() || !$offsetType->isConstantScalarValue()->no()) ) { return new ErrorType();
Mutation Testing (8.3, ubuntu-latest): src/Type/ArrayType.php#L297
Escaped Mutant for Mutator "PHPStan\Infection\IsSuperTypeOfCalleeAndArgumentMutator": @@ @@ $originalOffsetType = $offsetType; $offsetType = $offsetType->toArrayKey(); if ($this->getKeyType()->isSuperTypeOf($offsetType)->no() - && $this->getKeyType()->isSuperTypeOf($originalOffsetType)->no() + && $originalOffsetType->isSuperTypeOf($this->getKeyType())->no() && ($offsetType->isString()->no() || !$offsetType->isConstantScalarValue()->no()) ) { return new ErrorType();
Mutation Testing (8.3, ubuntu-latest): src/Type/ArrayType.php#L283
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $offsetType = $offsetArrayKeyType; if ($this->getKeyType()->isSuperTypeOf($offsetType)->no() - && $this->getKeyType()->isSuperTypeOf($originalOffsetType)->no() + && !$this->getKeyType()->isSuperTypeOf($originalOffsetType)->yes() && ($offsetType->isString()->no() || !$offsetType->isConstantScalarValue()->no()) ) { return TrinaryLogic::createNo();
Mutation Testing (8.3, ubuntu-latest): src/Type/ArrayType.php#L283
Escaped Mutant for Mutator "PHPStan\Infection\IsSuperTypeOfCalleeAndArgumentMutator": @@ @@ $offsetType = $offsetArrayKeyType; if ($this->getKeyType()->isSuperTypeOf($offsetType)->no() - && $this->getKeyType()->isSuperTypeOf($originalOffsetType)->no() + && $originalOffsetType->isSuperTypeOf($this->getKeyType())->no() && ($offsetType->isString()->no() || !$offsetType->isConstantScalarValue()->no()) ) { return TrinaryLogic::createNo();