Skip to content

[3.9] bpo-40895: Update weakref documentation to remove old warnings (GH-20687)#20791

Merged
miss-islington merged 1 commit intopython:3.9from
miss-islington:backport-1642c0e-3.9
Jun 10, 2020
Merged

[3.9] bpo-40895: Update weakref documentation to remove old warnings (GH-20687)#20791
miss-islington merged 1 commit intopython:3.9from
miss-islington:backport-1642c0e-3.9

Conversation

@miss-islington
Copy link
Contributor

@miss-islington miss-islington commented Jun 10, 2020

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 @pitrou agreed that these notes could be removed:
c1baa601e2b558deb690edfdf334fceee3b03327GH-commitcomment-39514438
(cherry picked from commit 1642c0e)

Co-authored-by: Daniel Fortunov [email protected]

https://bugs.python.org/issue40895

…nGH-20687)

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 @pitrou agreed that these notes could be removed:
python@c1baa601e2b558deb690edfdf334fceee3b03327GH-commitcomment-39514438
(cherry picked from commit 1642c0e)

Co-authored-by: Daniel Fortunov <[email protected]>
@miss-islington
Copy link
Contributor Author

@asqui: Status check is done, and it's a success ✅ .

@miss-islington miss-islington merged commit 18e07ba into python:3.9 Jun 10, 2020
@miss-islington miss-islington deleted the backport-1642c0e-3.9 branch June 10, 2020 20:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation in the Doc dir skip news

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants