Skip to content

R0913 excludes keyword- and positional-only arguments #8667

@charliermarsh

Description

@charliermarsh

Bug description

Pylint's too-many-arguments rule seems to exclude keyword- and positional-only arguments from the "total argument" count:

def f(a, b, c, d, e, *, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t):
    ...


def g(a, b, c, d, e, f):
    ...

Configuration

No response

Command used

pylint a.py

Pylint output

************* Module a
a.py:5:0: R0913: Too many arguments (6/5) (too-many-arguments)

Expected behavior

My instinct is that it should include keyword- and positional-only arguments, but I'm wondering if this is intentional.

Pylint version

pylint 2.17.2
astroid 2.15.3
Python 3.11.1 (main, Dec 23 2022, 09:25:23) [Clang 14.0.0 (clang-1400.0.29.202)]

OS / Environment

No response

Additional dependencies

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    False Negative 🦋No message is emitted but something is wrong with the codeNeeds PRThis issue is accepted, sufficiently specified and now needs an implementation

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions