Open
Description
Booleans in condition report explicitMixed in level 7
https://phpstan.org/r/954e86c5-1a77-43e9-a4c7-c96f9c66b1fe
But doesn't report implicitMixed in level 10
https://phpstan.org/r/865a7467-a5f4-46c3-a95f-b592db7e2f9e
This is because BooleanRuleHelper has a custom behavior for mixed
I think it should rely on explicitMixed/implicitMixed config instead.
Option 1:
Chaning nothing
Option2:
Using both checkExplicitMixed/checkImplicitMixed config
if ($type instanceof MixedType) {
if ($type->isExplicitMixed()) {
return !$this->checkExplicitMixed;
} else {
return !$this->checkImplicitMixed;
}
}
Option3:
Keeping the behavior for explicitMixed but allow to report implicitMixed.
if ($type instanceof MixedType) {
return !$type->isExplicitMixed() && !$this->checkImplicitMixed;
}
I would go with option 2, but it's your call @ondrejmirtes
Metadata
Metadata
Assignees
Labels
No labels