Skip to content

Commit ca7aa47

Browse files
committed
gh-124748: Fix handling kwargs in WeakKeyDictionary.update()
1 parent 6f4d64b commit ca7aa47

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

Lib/weakref.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -508,14 +508,17 @@ def setdefault(self, key, default=None):
508508
return self.data.setdefault(ref(key, self._remove),default)
509509

510510
def update(self, dict=None, /, **kwargs):
511+
if kwargs:
512+
raise TypeError(
513+
"Keyword arguments are not supported. "
514+
"Can not create weak references to `str` keys."
515+
)
511516
d = self.data
512517
if dict is not None:
513518
if not hasattr(dict, "items"):
514519
dict = type({})(dict)
515520
for key, value in dict.items():
516521
d[ref(key, self._remove)] = value
517-
if len(kwargs):
518-
self.update(kwargs)
519522

520523
def __ior__(self, other):
521524
self.update(other)

0 commit comments

Comments
 (0)