pylint-dev/pylint

False negatives for `duplicate-argument-name`

mbyrnepr2 opened this issue · 0 comments

Bug description

Currently only positional-or-keyword and keyword-only arguments are taken into account for this check:

def foo1(_, _): # [duplicate-argument-name]
...

def foo3(_, _=3): # [duplicate-argument-name]
...

def foo4(_, *, _): # [duplicate-argument-name]
...

positional-only, *varargs and **kwargs are not considered currently:

def foo5(_, *_):
    """*vararg"""

def foo6(_, /, _):
    """positional-only"""

def foo7(_, **_):
    """**kwargs"""

Configuration

No response

Command used

pylint a.py

Pylint output

The message is not emitted because of the false negatives.

Expected behavior

E0108: Duplicate argument name

Pylint version

pylint 3.3.0-dev0
astroid 3.3.0-dev0
Python 3.12.0

OS / Environment

No response

Additional dependencies

No response