Commit 1fb6088e authored by Jeremy Hylton's avatar Jeremy Hylton

dict_update has two boundary conditions: a.update(a) and a.update({})

Added test for second one.
parent db60bb5a
...@@ -809,8 +809,8 @@ dict_update(register dictobject *mp, PyObject *args) ...@@ -809,8 +809,8 @@ dict_update(register dictobject *mp, PyObject *args)
dictentry *entry; dictentry *entry;
if (!PyArg_Parse(args, "O!", &PyDict_Type, &other)) if (!PyArg_Parse(args, "O!", &PyDict_Type, &other))
return NULL; return NULL;
if (other == mp) if (other == mp || other->ma_used == 0)
goto done; /* a.update(a); nothing to do */ goto done; /* a.update(a) or a.update({}); nothing to do */
/* Do one big resize at the start, rather than incrementally /* Do one big resize at the start, rather than incrementally
resizing as we insert new items. Expect that there will be resizing as we insert new items. Expect that there will be
no (or few) overlapping keys. */ no (or few) overlapping keys. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment