diff options
Diffstat (limited to 'Python/ceval.c')
-rw-r--r-- | Python/ceval.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/Python/ceval.c b/Python/ceval.c index 1cf7246..b61cc08 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -4716,19 +4716,8 @@ handle_eval_breaker: PyObject *func, *callargs, *kwargs = NULL, *result; if (oparg & 0x01) { kwargs = POP(); - 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; - } + // DICT_MERGE is called before this opcode if there are kwargs. + // It converts all dict subtypes in kwargs into regular dicts. assert(PyDict_CheckExact(kwargs)); } callargs = POP(); |