# Bug report PHPStan 1.5.4 introduced some false-positive errors in our codebase related to `strtolower` usage and explicit phpDocs like `@param 'foo'|'bar'`. ### Code snippet that reproduces the problem https://phpstan.org/r/2f860fdb-4923-4467-ad04-e851c6666e6e https://phpstan.org/r/bf565b4a-39e9-4e59-8e74-7d83d5a9a4eb (@puniserv's [example](#issuecomment-1090060402)) ```php <?php declare(strict_types = 1); /** * @param 'foo'|'bar' $foo */ function foo(string $foo): void { } foo(strtolower('bar')); ``` ### Expected output No error, since set of explicitly allowed non-empty strings is a subset of expected `non-empty-string`.