I am talking about these lines:
|
if (!PyDict_CheckExact(kwargs)) { |
|
PyObject *d = PyDict_New(); |
|
if (d == NULL) |
|
goto error; |
|
if (_PyDict_MergeEx(d, kwargs, 2) < 0) { |
|
Py_DECREF(d); |
|
format_kwargs_error(tstate, SECOND(), kwargs); |
|
Py_DECREF(kwargs); |
|
goto error; |
|
} |
|
Py_DECREF(kwargs); |
|
kwargs = d; |
|
} |
They are not ever called, because after #18141 all ** dict unpacking is handled in DICT_MERGE opcode.
This was found while working on #94808 but I think that it deserves a separate issue.
PR is on its way.