From dbe171e6098fbb96beed81db2c34f6428109e005 Mon Sep 17 00:00:00 2001 From: Jelle Zijlstra Date: Fri, 19 May 2023 08:16:39 -0700 Subject: [PATCH] gh-104602: Add additional test for listcomp with lambda (#104639) This threw a SystemError before #104603. Adding a separate test because this was a different failure mode than the other two new tests from #104603, both of which used to segfault. --- Lib/test/test_listcomps.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Lib/test/test_listcomps.py b/Lib/test/test_listcomps.py index 185658ab5a4..c2cf058c321 100644 --- a/Lib/test/test_listcomps.py +++ b/Lib/test/test_listcomps.py @@ -510,6 +510,16 @@ class ListComprehensionTest(unittest.TestCase): """ self._check_in_scopes(code, {"z": 1, "out": [(3, 2, 1)]}) + def test_lambda_in_iter(self): + code = """ + (func, c), = [(a, b) for b in [1] for a in [lambda : a]] + d = func() + assert d is func + # must use "a" in this scope + e = a if False else None + """ + self._check_in_scopes(code, {"c": 1, "e": None}) + def test_assign_to_comp_iter_var_in_outer_function(self): code = """ a = [1 for a in [0]]