]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
GH-109190: Copyedit 3.12 What's New: PEP 709 (#109656)
authorAdam Turner <9087854+AA-Turner@users.noreply.github.com>
Thu, 21 Sep 2023 18:50:33 +0000 (19:50 +0100)
committerGitHub <noreply@github.com>
Thu, 21 Sep 2023 18:50:33 +0000 (12:50 -0600)
Doc/whatsnew/3.12.rst

index 6b4ec99b43dea61ebf136a12b23af7146847883a..9caf9c1885650392cadbed399df617766122df67 100644 (file)
@@ -246,14 +246,12 @@ PEP 709: Comprehension inlining
 
 Dictionary, list, and set comprehensions are now inlined, rather than creating a
 new single-use function object for each execution of the comprehension. This
-speeds up execution of a comprehension by up to 2x.
+speeds up execution of a comprehension by up to two times.
+See :pep:`709` for further details.
 
-Comprehension iteration variables remain isolated; they don't overwrite a
+Comprehension iteration variables remain isolated and don't overwrite a
 variable of the same name in the outer scope, nor are they visible after the
-comprehension. This isolation is now maintained via stack/locals manipulation,
-not via separate function scope.
-
-Inlining does result in a few visible behavior changes:
+comprehension. Inlining does result in a few visible behavior changes:
 
 * There is no longer a separate frame for the comprehension in tracebacks,
   and tracing/profiling no longer shows the comprehension as a function call.
@@ -270,7 +268,7 @@ Inlining does result in a few visible behavior changes:
   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`.
+(Contributed by Carl Meyer and Vladimir Matveev in :pep:`709`.)
 
 .. _whatsnew312-pep688: