Fix subtype check for identical late-resolvable conditional types (bug #10942) #24181
static-analysis.yml
on: pull_request
Generate baseline
1m 58s
Generate PHP baseline
1m 58s
Matrix: PHPStan with result cache
Matrix: PHPStan
Annotations
77 errors
|
Generate baseline
Process completed with exit code 1.
|
|
PHPStan with result cache (8.2)
Process completed with exit code 2.
|
|
PHPStan with result cache (8.2):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L74
Call to an undefined method PHPStan\Type\Type::isSubTypeOf().
|
|
PHPStan with result cache (8.2):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L50
Method PHPStan\Type\LateResolvableTypeTraitTest::provideCases() should return list<array{PHPStan\Type\Type, PHPStan\Type\Type, PHPStan\TrinaryLogic}> but returns array{'conditional vs same conditional': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\ConditionalTypeForParameter, PHPStan\TrinaryLogic}, 'conditional vs union containing it': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\UnionType, PHPStan\TrinaryLogic}}.
|
|
PHPStan (8.4, ubuntu-latest)
Process completed with exit code 2.
|
|
PHPStan (8.4, ubuntu-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L74
Call to an undefined method PHPStan\Type\Type::isSubTypeOf().
|
|
PHPStan (8.4, ubuntu-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L50
Method PHPStan\Type\LateResolvableTypeTraitTest::provideCases() should return list<array{PHPStan\Type\Type, PHPStan\Type\Type, PHPStan\TrinaryLogic}> but returns array{'conditional vs same conditional': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\ConditionalTypeForParameter, PHPStan\TrinaryLogic}, 'conditional vs union containing it': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\UnionType, PHPStan\TrinaryLogic}}.
|
|
PHPStan (8.5, ubuntu-latest)
Process completed with exit code 2.
|
|
PHPStan (8.5, ubuntu-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L74
Call to an undefined method PHPStan\Type\Type::isSubTypeOf().
|
|
PHPStan (8.5, ubuntu-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L50
Method PHPStan\Type\LateResolvableTypeTraitTest::provideCases() should return list<array{PHPStan\Type\Type, PHPStan\Type\Type, PHPStan\TrinaryLogic}> but returns array{'conditional vs same conditional': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\ConditionalTypeForParameter, PHPStan\TrinaryLogic}, 'conditional vs union containing it': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\UnionType, PHPStan\TrinaryLogic}}.
|
|
PHPStan (8.3, ubuntu-latest)
Process completed with exit code 2.
|
|
PHPStan (8.3, ubuntu-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L74
Call to an undefined method PHPStan\Type\Type::isSubTypeOf().
|
|
PHPStan (8.3, ubuntu-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L50
Method PHPStan\Type\LateResolvableTypeTraitTest::provideCases() should return list<array{PHPStan\Type\Type, PHPStan\Type\Type, PHPStan\TrinaryLogic}> but returns array{'conditional vs same conditional': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\ConditionalTypeForParameter, PHPStan\TrinaryLogic}, 'conditional vs union containing it': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\UnionType, PHPStan\TrinaryLogic}}.
|
|
PHPStan with result cache (8.3)
Process completed with exit code 2.
|
|
PHPStan with result cache (8.3):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L74
Call to an undefined method PHPStan\Type\Type::isSubTypeOf().
|
|
PHPStan with result cache (8.3):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L50
Method PHPStan\Type\LateResolvableTypeTraitTest::provideCases() should return list<array{PHPStan\Type\Type, PHPStan\Type\Type, PHPStan\TrinaryLogic}> but returns array{'conditional vs same conditional': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\ConditionalTypeForParameter, PHPStan\TrinaryLogic}, 'conditional vs union containing it': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\UnionType, PHPStan\TrinaryLogic}}.
|
|
PHPStan with result cache (8.5)
Process completed with exit code 2.
|
|
PHPStan with result cache (8.5):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L74
Call to an undefined method PHPStan\Type\Type::isSubTypeOf().
|
|
PHPStan with result cache (8.5):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L50
Method PHPStan\Type\LateResolvableTypeTraitTest::provideCases() should return list<array{PHPStan\Type\Type, PHPStan\Type\Type, PHPStan\TrinaryLogic}> but returns array{'conditional vs same conditional': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\ConditionalTypeForParameter, PHPStan\TrinaryLogic}, 'conditional vs union containing it': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\UnionType, PHPStan\TrinaryLogic}}.
|
|
PHPStan (8.2, ubuntu-latest)
Process completed with exit code 2.
|
|
PHPStan (8.2, ubuntu-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L74
Call to an undefined method PHPStan\Type\Type::isSubTypeOf().
|
|
PHPStan (8.2, ubuntu-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L50
Method PHPStan\Type\LateResolvableTypeTraitTest::provideCases() should return list<array{PHPStan\Type\Type, PHPStan\Type\Type, PHPStan\TrinaryLogic}> but returns array{'conditional vs same conditional': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\ConditionalTypeForParameter, PHPStan\TrinaryLogic}, 'conditional vs union containing it': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\UnionType, PHPStan\TrinaryLogic}}.
|
|
PHPStan with result cache (8.4)
Process completed with exit code 2.
|
|
PHPStan with result cache (8.4):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L74
Call to an undefined method PHPStan\Type\Type::isSubTypeOf().
|
|
PHPStan with result cache (8.4):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L50
Method PHPStan\Type\LateResolvableTypeTraitTest::provideCases() should return list<array{PHPStan\Type\Type, PHPStan\Type\Type, PHPStan\TrinaryLogic}> but returns array{'conditional vs same conditional': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\ConditionalTypeForParameter, PHPStan\TrinaryLogic}, 'conditional vs union containing it': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\UnionType, PHPStan\TrinaryLogic}}.
|
|
PHPStan (8.0, ubuntu-latest)
Process completed with exit code 2.
|
|
PHPStan (8.0, ubuntu-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L78
Call to an undefined method PHPStan\Type\Type::isSubTypeOf().
|
|
PHPStan (8.0, ubuntu-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L50
Method PHPStan\Type\LateResolvableTypeTraitTest::provideCases() should return list<array{PHPStan\Type\Type, PHPStan\Type\Type, PHPStan\TrinaryLogic}> but returns array{'conditional vs same conditional': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\ConditionalTypeForParameter, PHPStan\TrinaryLogic}, 'conditional vs union containing it': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\UnionType, PHPStan\TrinaryLogic}}.
|
|
PHPStan (8.0, ubuntu-latest):
tests/PHPStan/Rules/Properties/MissingReadOnlyPropertyAssignRuleWithoutNarrowMethodScopeTest.php#L56
Strict comparison using === between class-string and 'MissingReadOnlyPropertyAssign\\Entity' will always evaluate to false.
|
|
|
|
PHPStan (8.0, ubuntu-latest):
src/Analyser/Generator/RunInFiberResult.php#L18
Template type T is declared as covariant, but occurs in invariant position in property PHPStan\Analyser\Generator\RunInFiberResult::$value.
|
|
PHPStan (8.0, ubuntu-latest):
src/Analyser/Generator/RunInFiberRequest.php#L25
Template type T is declared as covariant, but occurs in invariant position in property PHPStan\Analyser\Generator\RunInFiberRequest::$callback.
|
|
PHPStan (8.1, ubuntu-latest)
Process completed with exit code 2.
|
|
PHPStan (8.1, ubuntu-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L78
Call to an undefined method PHPStan\Type\Type::isSubTypeOf().
|
|
PHPStan (8.1, ubuntu-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L50
Method PHPStan\Type\LateResolvableTypeTraitTest::provideCases() should return list<array{PHPStan\Type\Type, PHPStan\Type\Type, PHPStan\TrinaryLogic}> but returns array{'conditional vs same conditional': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\ConditionalTypeForParameter, PHPStan\TrinaryLogic}, 'conditional vs union containing it': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\UnionType, PHPStan\TrinaryLogic}}.
|
|
PHPStan (7.4, ubuntu-latest):
src/Reflection/ClassReflection.php#L936
Asserted type PHPStan\BetterReflection\Reflection\Adapter\ReflectionEnum for $this->reflection with type ReflectionClass can never happen.
|
|
PHPStan (7.4, ubuntu-latest):
src/Reflection/ClassReflection.php#L715
Method PHPStan\Reflection\ClassReflection::findConstructor() should return PHPStan\BetterReflection\Reflection\Adapter\ReflectionMethod|null but returns ReflectionMethod.
|
|
PHPStan (7.4, ubuntu-latest):
src/Reflection/ClassReflection.php#L708
Method PHPStan\Reflection\ClassReflection::findConstructor() should return PHPStan\BetterReflection\Reflection\Adapter\ReflectionMethod|null but returns ReflectionMethod.
|
|
PHPStan (7.4, ubuntu-latest):
src/Reflection/ClassReflection.php#L492
Call to an undefined method ReflectionClass::getAttributes().
|
|
PHPStan (7.4, ubuntu-latest):
src/Reflection/ClassReflection.php#L234
Method PHPStan\Reflection\ClassReflection::getNativeReflection() should return PHPStan\BetterReflection\Reflection\Adapter\ReflectionClass|PHPStan\BetterReflection\Reflection\Adapter\ReflectionEnum but returns ReflectionClass.
|
|
PHPStan (7.4, ubuntu-latest):
src/Reflection/ClassReflection.php#L232
Method PHPStan\Reflection\ClassReflection::getNativeReflection() never returns PHPStan\BetterReflection\Reflection\Adapter\ReflectionEnum so it can be removed from the return type.
|
|
PHPStan (7.4, ubuntu-latest):
src/Reflection/ClassReflection.php#L206
PHPDoc tag `@param` for parameter $reflection with type PHPStan\BetterReflection\Reflection\Adapter\ReflectionClass|PHPStan\BetterReflection\Reflection\Adapter\ReflectionEnum is not subtype of native type ReflectionClass.
|
|
PHPStan (7.4, ubuntu-latest):
src/Reflection/ClassReflection.php#L206
Method PHPStan\Reflection\ClassReflection::__construct() has parameter $reflection with generic class ReflectionClass but does not specify its types: T
|
|
PHPStan (7.4, ubuntu-latest):
src/Reflection/ClassReflection.php#L97
Property PHPStan\Reflection\ClassReflection::$reflection with generic class ReflectionClass does not specify its types: T
|
|
PHPStan (7.4, ubuntu-latest):
src/Reflection/ClassReflection.php#L97
PHPDoc tag `@var` for property PHPStan\Reflection\ClassReflection::$reflection with type PHPStan\BetterReflection\Reflection\Adapter\ReflectionClass|PHPStan\BetterReflection\Reflection\Adapter\ReflectionEnum is not subtype of native type ReflectionClass.
|
|
PHPStan (8.4, windows-latest)
Process completed with exit code 1.
|
|
PHPStan (8.4, windows-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L74
Call to an undefined method PHPStan\Type\Type::isSubTypeOf().
|
|
PHPStan (8.4, windows-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L50
Method PHPStan\Type\LateResolvableTypeTraitTest::provideCases() should return list<array{PHPStan\Type\Type, PHPStan\Type\Type, PHPStan\TrinaryLogic}> but returns array{'conditional vs same conditional': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\ConditionalTypeForParameter, PHPStan\TrinaryLogic}, 'conditional vs union containing it': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\UnionType, PHPStan\TrinaryLogic}}.
|
|
PHPStan (8.5, windows-latest)
Process completed with exit code 1.
|
|
PHPStan (8.5, windows-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L74
Call to an undefined method PHPStan\Type\Type::isSubTypeOf().
|
|
PHPStan (8.5, windows-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L50
Method PHPStan\Type\LateResolvableTypeTraitTest::provideCases() should return list<array{PHPStan\Type\Type, PHPStan\Type\Type, PHPStan\TrinaryLogic}> but returns array{'conditional vs same conditional': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\ConditionalTypeForParameter, PHPStan\TrinaryLogic}, 'conditional vs union containing it': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\UnionType, PHPStan\TrinaryLogic}}.
|
|
PHPStan (8.3, windows-latest)
Process completed with exit code 1.
|
|
PHPStan (8.3, windows-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L74
Call to an undefined method PHPStan\Type\Type::isSubTypeOf().
|
|
PHPStan (8.3, windows-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L50
Method PHPStan\Type\LateResolvableTypeTraitTest::provideCases() should return list<array{PHPStan\Type\Type, PHPStan\Type\Type, PHPStan\TrinaryLogic}> but returns array{'conditional vs same conditional': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\ConditionalTypeForParameter, PHPStan\TrinaryLogic}, 'conditional vs union containing it': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\UnionType, PHPStan\TrinaryLogic}}.
|
|
PHPStan (8.2, windows-latest)
Process completed with exit code 1.
|
|
PHPStan (8.2, windows-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L74
Call to an undefined method PHPStan\Type\Type::isSubTypeOf().
|
|
PHPStan (8.2, windows-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L50
Method PHPStan\Type\LateResolvableTypeTraitTest::provideCases() should return list<array{PHPStan\Type\Type, PHPStan\Type\Type, PHPStan\TrinaryLogic}> but returns array{'conditional vs same conditional': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\ConditionalTypeForParameter, PHPStan\TrinaryLogic}, 'conditional vs union containing it': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\UnionType, PHPStan\TrinaryLogic}}.
|
|
PHPStan (8.1, windows-latest)
Process completed with exit code 1.
|
|
PHPStan (8.1, windows-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L78
Call to an undefined method PHPStan\Type\Type::isSubTypeOf().
|
|
PHPStan (8.1, windows-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L50
Method PHPStan\Type\LateResolvableTypeTraitTest::provideCases() should return list<array{PHPStan\Type\Type, PHPStan\Type\Type, PHPStan\TrinaryLogic}> but returns array{'conditional vs same conditional': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\ConditionalTypeForParameter, PHPStan\TrinaryLogic}, 'conditional vs union containing it': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\UnionType, PHPStan\TrinaryLogic}}.
|
|
PHPStan (8.0, windows-latest)
Process completed with exit code 1.
|
|
PHPStan (8.0, windows-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L78
Call to an undefined method PHPStan\Type\Type::isSubTypeOf().
|
|
PHPStan (8.0, windows-latest):
tests/PHPStan/Type/LateResolvableTypeTraitTest.php#L50
Method PHPStan\Type\LateResolvableTypeTraitTest::provideCases() should return list<array{PHPStan\Type\Type, PHPStan\Type\Type, PHPStan\TrinaryLogic}> but returns array{'conditional vs same conditional': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\ConditionalTypeForParameter, PHPStan\TrinaryLogic}, 'conditional vs union containing it': array{PHPStan\Type\ConditionalTypeForParameter, PHPStan\Type\UnionType, PHPStan\TrinaryLogic}}.
|
|
PHPStan (8.0, windows-latest):
tests/PHPStan/Rules/Properties/MissingReadOnlyPropertyAssignRuleWithoutNarrowMethodScopeTest.php#L56
Strict comparison using === between class-string and 'MissingReadOnlyPropertyAssign\\Entity' will always evaluate to false.
|
|
|
|
PHPStan (8.0, windows-latest):
src/Analyser/Generator/RunInFiberResult.php#L18
Template type T is declared as covariant, but occurs in invariant position in property PHPStan\Analyser\Generator\RunInFiberResult::$value.
|
|
PHPStan (8.0, windows-latest):
src/Analyser/Generator/RunInFiberRequest.php#L25
Template type T is declared as covariant, but occurs in invariant position in property PHPStan\Analyser\Generator\RunInFiberRequest::$callback.
|
|
PHPStan (7.4, windows-latest):
src/Reflection/ClassReflection.php#L936
Asserted type PHPStan\BetterReflection\Reflection\Adapter\ReflectionEnum for $this->reflection with type ReflectionClass can never happen.
|
|
PHPStan (7.4, windows-latest):
src/Reflection/ClassReflection.php#L715
Method PHPStan\Reflection\ClassReflection::findConstructor() should return PHPStan\BetterReflection\Reflection\Adapter\ReflectionMethod|null but returns ReflectionMethod.
|
|
PHPStan (7.4, windows-latest):
src/Reflection/ClassReflection.php#L708
Method PHPStan\Reflection\ClassReflection::findConstructor() should return PHPStan\BetterReflection\Reflection\Adapter\ReflectionMethod|null but returns ReflectionMethod.
|
|
PHPStan (7.4, windows-latest):
src/Reflection/ClassReflection.php#L492
Call to an undefined method ReflectionClass::getAttributes().
|
|
PHPStan (7.4, windows-latest):
src/Reflection/ClassReflection.php#L234
Method PHPStan\Reflection\ClassReflection::getNativeReflection() should return PHPStan\BetterReflection\Reflection\Adapter\ReflectionClass|PHPStan\BetterReflection\Reflection\Adapter\ReflectionEnum but returns ReflectionClass.
|
|
PHPStan (7.4, windows-latest):
src/Reflection/ClassReflection.php#L232
Method PHPStan\Reflection\ClassReflection::getNativeReflection() never returns PHPStan\BetterReflection\Reflection\Adapter\ReflectionEnum so it can be removed from the return type.
|
|
PHPStan (7.4, windows-latest):
src/Reflection/ClassReflection.php#L206
PHPDoc tag `@param` for parameter $reflection with type PHPStan\BetterReflection\Reflection\Adapter\ReflectionClass|PHPStan\BetterReflection\Reflection\Adapter\ReflectionEnum is not subtype of native type ReflectionClass.
|
|
PHPStan (7.4, windows-latest):
src/Reflection/ClassReflection.php#L206
Method PHPStan\Reflection\ClassReflection::__construct() has parameter $reflection with generic class ReflectionClass but does not specify its types: T
|
|
PHPStan (7.4, windows-latest):
src/Reflection/ClassReflection.php#L97
Property PHPStan\Reflection\ClassReflection::$reflection with generic class ReflectionClass does not specify its types: T
|
|
PHPStan (7.4, windows-latest):
src/Reflection/ClassReflection.php#L97
PHPDoc tag `@var` for property PHPStan\Reflection\ClassReflection::$reflection with type PHPStan\BetterReflection\Reflection\Adapter\ReflectionClass|PHPStan\BetterReflection\Reflection\Adapter\ReflectionEnum is not subtype of native type ReflectionClass.
|