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
|
if ($type instanceof MixedType) { |
|
return !$type->isExplicitMixed(); |
|
} |
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
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
phpstan-strict-rules/src/Rules/BooleansInConditions/BooleanRuleHelper.php
Lines 25 to 27 in a4a6a08
I think it should rely on explicitMixed/implicitMixed config instead.
Option 1:
Chaning nothing
Option2:
Using both checkExplicitMixed/checkImplicitMixed config
Option3:
Keeping the behavior for explicitMixed but allow to report implicitMixed.
I would go with option 2, but it's your call @ondrejmirtes