[New-bugs-announce] [issue40895] weakref documentation contains cautions about dictionary mutation problems that have been solved in the implementation

Daniel Fortunov report at bugs.python.org
Sat Jun 6 19:23:07 EDT 2020


New submission from Daniel Fortunov <pythonbugs at danielfortunov.com>:

The doccumentation at https://docs.python.org/3.10/library/weakref.html cautions that the WeakKeyDictionary and WeakValueDictionary are susceptible to the problem of dictionary mutation during iteration.

These notes present the user with a problem that has no easy solution.

I dug into the implementation and found that fortunately, Antoine Pitrou already addressed this challenge (10 years ago!) by introducing an _IterationGuard context manager to the implementation, which delays mutation while an iteration is in progress.

I asked for confirmation and Antoine agreed that these notes could be removed:
https://github.com/python/cpython/commit/c1baa601e2b558deb690edfdf334fceee3b03327#commitcomment-39514438

----------
assignee: docs at python
components: Documentation
messages: 370860
nosy: dfortunov, docs at python
priority: normal
severity: normal
status: open
title: weakref documentation contains cautions about dictionary mutation problems that have been solved in the implementation
versions: Python 3.10

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue40895>
_______________________________________


More information about the New-bugs-announce mailing list