Skip to content

Unexpected RedundantCondition  #10

@dzentota

Description

@dzentota

Consider the following code:

<?php
function check(string $filename): bool
{
    if (strpos($filename, ".suback.php") !== false || strpos($filename, "_backup") !== false) {
        // we'll ignore .suback files, they are old upgrade backups
        return false;
    }
    return true;
}

The latest psalm/phar 4.12.0 returns:

ERROR: RedundantCondition - t.php:4:9 - int can never contain false (see https://psalm.dev/122)
if (strpos($filename, ".suback.php") !== false || strpos($filename, "_backup") !== false) {
ERROR: RedundantCondition - t.php:4:55 - int can never contain false (see https://psalm.dev/122)
if (strpos($filename, ".suback.php") !== false || strpos($filename, "_backup") !== false) {

While psalm.dev returns expected result

https://psalm.dev/r/0cc1635fe5

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions