Skip to content

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

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

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

Conversation

@pitrou
Copy link
Member

@pitrou pitrou 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

Automerge-Triggered-By: @pitrou

…ythonGH-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

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

@miss-islington miss-islington merged commit 0490398 into python:3.7 Jun 10, 2020
@pitrou pitrou deleted the backport-1642c0e-3.7 branch June 10, 2020 20:37
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