Skip to content

PLR0904: false positive when using overload #14727

@Matt-Ord

Description

@Matt-Ord

This triggers PLR0904


class Test:
    @overload
    def test_method(self, a: Literal[1]) -> None: ...
    @overload
    def test_method(self, a: Literal[2]) -> None: ...
    @overload
    def test_method(self, a: Literal[3]) -> None: ...
    @overload
    def test_method(self, a: Literal[4]) -> None: ...
    @overload
    def test_method(self, a: Literal[5]) -> None: ...
    @overload
    def test_method(self, a: Literal[6]) -> None: ...
    @overload
    def test_method(self, a: Literal[7]) -> None: ...
    @overload
    def test_method(self, a: Literal[8]) -> None: ...
    @overload
    def test_method(self, a: Literal[9]) -> None: ...
    @overload
    def test_method(self, a: Literal[10]) -> None: ...
    @overload
    def test_method(self, a: Literal[11]) -> None: ...
    @overload
    def test_method(self, a: Literal[12]) -> None: ...
    @overload
    def test_method(self, a: Literal[13]) -> None: ...
    @overload
    def test_method(self, a: Literal[14]) -> None: ...
    @overload
    def test_method(self, a: Literal[15]) -> None: ...
    @overload
    def test_method(self, a: Literal[16]) -> None: ...
    @overload
    def test_method(self, a: Literal[17]) -> None: ...
    @overload
    def test_method(self, a: Literal[18]) -> None: ...
    @overload
    def test_method(self, a: Literal[19]) -> None: ...
    @overload
    def test_method(self, a: Literal[20]) -> None: ...
    @overload
    def test_method(self, a: Literal[21]) -> None: ...
    def test_method(self, a: Any) -> None: ...

This rule should ignore overload impls

Using ruff 0.8.1

Metadata

Metadata

Assignees

Labels

bugSomething isn't workinggood first issueGood for newcomers

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions