Skip to content

Commit

Permalink
pythongh-105256: What's New note for comprehension over locals()
Browse files Browse the repository at this point in the history
  • Loading branch information
carljm committed Jul 3, 2023
1 parent 71b4044 commit 3afb538
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions Doc/whatsnew/3.12.rst
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,11 @@ Inlining does result in a few visible behavior changes:
* Calling :func:`locals` inside a comprehension now includes variables
from outside the comprehension, and no longer includes the synthetic ``.0``
variable for the comprehension "argument".
* A comprehension iterating over ``locals()`` (e.g. ``[k for k in
locals()]``) may see "RuntimeError: dictionary changed size during iteration"
when run under tracing (e.g. code coverage measurement). This is the same
behavior shown by e.g. ``for k in locals():``. To avoid the error, first create
a list of keys to iterate over: ``keys = list(locals()); [k for k in keys]``.

Contributed by Carl Meyer and Vladimir Matveev in :pep:`709`.

Expand Down

0 comments on commit 3afb538

Please sign in to comment.