Skip to content

Commit c32b392

Browse files
authored
Correct "Duplicate argument" error messages (#20957)
1 parent 5749db8 commit c32b392

5 files changed

Lines changed: 13 additions & 13 deletions

File tree

mypy/fastparse.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
WithStmt,
9191
YieldExpr,
9292
YieldFromExpr,
93-
check_arg_names,
93+
check_param_names,
9494
)
9595
from mypy.options import Options
9696
from mypy.patterns import (
@@ -1115,7 +1115,7 @@ def transform_args(
11151115
new_args.append(self.make_argument(args.kwarg, None, ARG_STAR2, no_type_check))
11161116
names.append(args.kwarg)
11171117

1118-
check_arg_names([arg.variable.name for arg in new_args], names, self.fail_arg)
1118+
check_param_names([arg.variable.name for arg in new_args], names, self.fail_arg)
11191119

11201120
return new_args
11211121

mypy/nodes.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5092,7 +5092,7 @@ def check_arg_kinds(
50925092
is_kw_arg = True
50935093

50945094

5095-
def check_arg_names(
5095+
def check_param_names(
50965096
names: Sequence[str | None],
50975097
nodes: list[T],
50985098
fail: Callable[[str, T], None],
@@ -5101,7 +5101,7 @@ def check_arg_names(
51015101
seen_names: set[str | None] = set()
51025102
for name, node in zip(names, nodes):
51035103
if name is not None and name in seen_names:
5104-
fail(f'Duplicate argument "{name}" in {description}', node)
5104+
fail(f'Duplicate parameter "{name}" in {description}', node)
51055105
break
51065106
seen_names.add(name)
51075107

mypy/typeanal.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
TypeVarTupleExpr,
4848
Var,
4949
check_arg_kinds,
50-
check_arg_names,
50+
check_param_names,
5151
)
5252
from mypy.options import INLINE_TYPEDDICT, TYPE_FORM, Options
5353
from mypy.plugin import AnalyzeTypeContext, Plugin, TypeAnalyzerPluginInterface
@@ -1712,7 +1712,7 @@ def analyze_callable_args(
17121712
kinds.append(ARG_STAR2 if second_unpack_last else ARG_STAR)
17131713
names.append(None)
17141714
# Note that arglist below is only used for error context.
1715-
check_arg_names(names, [arglist] * len(args), self.fail, "Callable")
1715+
check_param_names(names, [arglist] * len(args), self.fail, "Callable")
17161716
check_arg_kinds(kinds, [arglist] * len(args), self.fail)
17171717
return args, kinds, names
17181718

test-data/unit/check-fastparse.test

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -280,22 +280,22 @@ def f7(x: int): # E: Function has duplicate type signatures
280280
def f(x, y, z):
281281
pass
282282

283-
def g(x, y, x): # E: Duplicate argument "x" in function definition
283+
def g(x, y, x): # E: Duplicate parameter "x" in function definition
284284
pass
285285

286-
def h(x, y, *x): # E: Duplicate argument "x" in function definition
286+
def h(x, y, *x): # E: Duplicate parameter "x" in function definition
287287
pass
288288

289-
def i(x, y, *z, **z): # E: Duplicate argument "z" in function definition
289+
def i(x, y, *z, **z): # E: Duplicate parameter "z" in function definition
290290
pass
291291

292-
def j(x: int, y: int, *, x: int = 3): # E: Duplicate argument "x" in function definition
292+
def j(x: int, y: int, *, x: int = 3): # E: Duplicate parameter "x" in function definition
293293
pass
294294

295-
def k(*, y, z, y): # E: Duplicate argument "y" in function definition
295+
def k(*, y, z, y): # E: Duplicate parameter "y" in function definition
296296
pass
297297

298-
lambda x, y, x: ... # E: Duplicate argument "x" in function definition
298+
lambda x, y, x: ... # E: Duplicate parameter "x" in function definition
299299

300300
[case testNoCrashOnImportFromStar]
301301
from pack import *

test-data/unit/check-functions.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1937,7 +1937,7 @@ def k(f: Callable[[KwArg(), NamedArg(Any, 'x')], int]): pass # E: A **kwargs arg
19371937
from typing import Callable
19381938
from mypy_extensions import Arg, VarArg, KwArg, DefaultArg
19391939

1940-
def f(f: Callable[[Arg(int, 'x'), int, Arg(int, 'x')], int]): pass # E: Duplicate argument "x" in Callable
1940+
def f(f: Callable[[Arg(int, 'x'), int, Arg(int, 'x')], int]): pass # E: Duplicate parameter "x" in Callable
19411941

19421942
[builtins fixtures/dict.pyi]
19431943

0 commit comments

Comments
 (0)