htmlspecialchars can return non-empty-string #5785
Merged
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.
https://psalm.dev/r/397951a5d7
The example code shows the issue I am trying to fix. If the code has already done something to guarantee a value is a non-empty-string, there are several built in functions you could pass it to that should then also return a non-empty-string. This will prevent redundant checks and added runtime in projects making use of non-empty-string. This pull request is only changing this one function for now, but if it is accepted I will probably change additional similar functions.
I don't really understand
@psalm-flow
, hopefully this added@psalm-return
does not interfere? Is there a better approach where@psalm-flow
could always imply starting from a non-empty-string would return one (again speaking from a place of not understanding@psalm-flow
).I looked for a good place to add tests for this change, but I'm lost on that front. Can someone recommend something, or is this a change that would be overkill to explicitly test?