Skip to content

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

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. #26558

Triggered via pull request March 9, 2026 17:22
Status Failure
Total duration 19m 26s
Artifacts

tests.yml

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

10 errors and 8 warnings
Tests PHPUnit 11.x (8.2, ubuntu-latest)
Process completed with exit code 2.
Tests with old PHPUnit (8.0, ubuntu-latest)
Process completed with exit code 2.
Tests with old PHPUnit (7.4, ubuntu-latest)
Process completed with exit code 2.
Tests with old PHPUnit (8.1, ubuntu-latest)
Process completed with exit code 2.
Tests with old PHPUnit (8.0, windows-latest)
Process completed with exit code 1.
Tests PHPUnit 11.x (8.2, windows-latest)
Process completed with exit code 1.
Tests with old PHPUnit (8.1, windows-latest)
Process completed with exit code 1.
Tests with old PHPUnit (7.4, windows-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)
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();