Fix type specification of various string functions with constant strings in a falsey context #1488
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#7555
Apparently this would return that some constant string is surely not e.g.
'ab'
in a falsey scope but at the same time the scope has the info that it surely is'ab'
in a truthy scope. And that seams lead to a*NEVER*
type.The blocks before this one, that deal with a related thing, do it a bit different but very similar, e.g. https://github.com/phpstan/phpstan-src/blob/1.8.0/src/Analyser/TypeSpecifier.php#L237