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

Added test for second one.
This commit is contained in:
Jeremy Hylton 2001-01-03 22:34:59 +00:00
parent db60bb5aad
commit 1fb6088e86
1 changed files with 2 additions and 2 deletions

View File

@ -809,8 +809,8 @@ dict_update(register dictobject *mp, PyObject *args)
dictentry *entry;
if (!PyArg_Parse(args, "O!", &PyDict_Type, &other))
return NULL;
if (other == mp)
goto done; /* a.update(a); nothing to do */
if (other == mp || other->ma_used == 0)
goto done; /* a.update(a) or a.update({}); nothing to do */
/* Do one big resize at the start, rather than incrementally
resizing as we insert new items. Expect that there will be
no (or few) overlapping keys. */