From e3fa00fb2bdbea9a916fe15eef46d9b25b6113da Mon Sep 17 00:00:00 2001 From: Jelle Zijlstra Date: Thu, 18 May 2023 19:39:34 -0700 Subject: [PATCH] gh-104602: Add additional test for listcomp with lambda 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 185658ab5a4ca8..c2cf058c321fa5 100644 --- a/Lib/test/test_listcomps.py +++ b/Lib/test/test_listcomps.py @@ -510,6 +510,16 @@ def test_nested_listcomp_in_lambda(self): """ 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]]