You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At first I discover the issue for lowercase-string and feel like the message could be improved for other situation like
Call to function is_string() with mixed will always evaluate to false.
which could explain that string is not in the mixed type, and become
Call to function is_string() with mixed~string will always evaluate to false.
but maybe it's voluntary...
So currently I dunno:
If we consider there is no issue, and Call to function in_array() with arguments string, array{'publishDate', 'approvedAt', 'allowedValues'} and true will always evaluate to false. is an OK message. Then I can close both the PR and the issue
If this PR is OK to be merged
If this PR should be done on 2.0 since it's kinda a BC break
If we consider the behavior should only be fixed for lowercase-string (how ? I assume this fix is harder)
If the fix should be somewhere else... (Maybe in 2.0 the Verbosity of lowercase-string should become value)
You're right, the fix is harder. It's hard for a type-specifying extension like in_array, because we'd have to somehow track it from ImpossibleCheckTypeHelper to ImpossibleCheckTypeFunctionCallRule and tell that the reason is Type::isLowercaseString().
Relevant: 1.12.x has Type::acceptsWithReason(). It'd be beneficial to also have Type::isSuperTypeOfWithReason().
In 2.0.x the original Type::accepts() is deleted and the new Type::acceptsWithReason() gets renamed to Type::accepts().
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes phpstan/phpstan#11799
At first I discover the issue for
lowercase-stringand feel like the message could be improved for other situation likewhich could explain that string is not in the mixed type, and become
but maybe it's voluntary...
So currently I dunno:
Call to function in_array() with arguments string, array{'publishDate', 'approvedAt', 'allowedValues'} and true will always evaluate to false.is an OK message. Then I can close both the PR and the issueYour call @ondrejmirtes