Skip to content

Commit e30128b

Browse files
authored
Sort arguments in TypedDict overlap error message (#19666)
Discovered in #19664 (comment). Sets are unsorted which could make the primer output differ unnecessarily.
1 parent 206b739 commit e30128b

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

mypy/semanal.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1059,7 +1059,7 @@ def remove_unpack_kwargs(self, defn: FuncDef, typ: CallableType) -> CallableType
10591059
# It is OK for TypedDict to have a key named 'kwargs'.
10601060
overlap.discard(typ.arg_names[-1])
10611061
if overlap:
1062-
overlapped = ", ".join([f'"{name}"' for name in overlap])
1062+
overlapped = ", ".join([f'"{name}"' for name in sorted(filter(None, overlap))])
10631063
self.fail(f"Overlap between argument names and ** TypedDict items: {overlapped}", defn)
10641064
new_arg_types = typ.arg_types[:-1] + [AnyType(TypeOfAny.from_error)]
10651065
return typ.copy_modified(arg_types=new_arg_types)

0 commit comments

Comments
 (0)