Issue #17765: weakref.ref() no longer silently ignores keyword arguments.
Patch by Georg Brandl.
diff --git a/Objects/weakrefobject.c b/Objects/weakrefobject.c
index e1f4bc4..c8b982f 100644
--- a/Objects/weakrefobject.c
+++ b/Objects/weakrefobject.c
@@ -271,7 +271,6 @@
parse_weakref_init_args(char *funcname, PyObject *args, PyObject *kwargs,
PyObject **obp, PyObject **callbackp)
{
- /* XXX Should check that kwargs == NULL or is empty. */
return PyArg_UnpackTuple(args, funcname, 1, 2, obp, callbackp);
}
@@ -334,6 +333,9 @@
{
PyObject *tmp;
+ if (!_PyArg_NoKeywords("ref()", kwargs))
+ return -1;
+
if (parse_weakref_init_args("__init__", args, kwargs, &tmp, &tmp))
return 0;
else