summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorDonghee Na <donghee.na@python.org>2024-11-03 04:00:52 (GMT)
committerGitHub <noreply@github.com>2024-11-03 04:00:52 (GMT)
commit4afa129ed08780ef84fcee4dd1168a33034f2ea5 (patch)
tree055835f78026ae5d395c8ea24558eb61da84f858 /Python
parentf4bc64d204dce541c20e1425a3b70cab6e811607 (diff)
downloadcpython-4afa129ed08780ef84fcee4dd1168a33034f2ea5.zip
cpython-4afa129ed08780ef84fcee4dd1168a33034f2ea5.tar.gz
cpython-4afa129ed08780ef84fcee4dd1168a33034f2ea5.tar.bz2
[3.12] gh-125832: Clarify comment for inlined comprehensions as per P… (gh-126345)
* [3.12] gh-125832: Clarify comment for inlined comprehensions as per PEP-709 (gh-126322) * Fix comprehensions comment to inlined by pep 709 * Update spacing Co-authored-by: RUANG (James Roy) <longjinyii@outlook.com> * Add reference to PEP 709 --------- Co-authored-by: Carol Willing <carolcode@willingconsulting.com> Co-authored-by: RUANG (James Roy) <longjinyii@outlook.com> * Add space --------- Co-authored-by: rimchoi <hyerimc858@gmail.com> Co-authored-by: Carol Willing <carolcode@willingconsulting.com> Co-authored-by: RUANG (James Roy) <longjinyii@outlook.com>
Diffstat (limited to 'Python')
-rw-r--r--Python/compile.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/Python/compile.c b/Python/compile.c
index 49b2ebf..6050b72 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -5191,9 +5191,12 @@ ex_call:
}
-/* List and set comprehensions and generator expressions work by creating a
- nested function to perform the actual iteration. This means that the
- iteration variables don't leak into the current scope.
+/* List and set comprehensions work by being inlined at the location where
+ they are defined. The isolation of iteration variables is provided by
+ pushing/popping clashing locals on the stack. Generator expressions work
+ by creating a nested function to perform the actual iteration.
+ This means that the iteration variables don't leak into the current scope.
+ See https://peps.python.org/pep-0709/ for additional information.
The defined function is called immediately following its definition, with the
result of that call being the result of the expression.
The LC/SC version returns the populated container, while the GE version is