New submission from Lysandros Nikolaou <lisandros...@gmail.com>: While a walrus is valid withing generator expressions in 3.8, it's not in 3.9 and onward.
➜ cpython git:(master) ✗ python3.8 Python 3.8.6 (default, Oct 3 2020, 16:26:47) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> i = 2 >>> a = [1, 2, 3, 4] >>> (b := i + j for j in a) <generator object <genexpr> at 0x7f231e78c740> ➜ cpython git:(master) python3.10 Python 3.10.0a1+ (heads/master:b580ed1, Oct 19 2020, 15:52:12) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> i = 2 >>> a = [1, 2, 3, 4] >>> (b := i + j for j in a) File "<stdin>", line 1 (b := i + j for j in a) ^ SyntaxError: invalid syntax This is a regression introduced by the new parser. ---------- components: Interpreter Core keywords: 3.9regression messages: 381133 nosy: gvanrossum, lys.nikolaou, pablogsal, terry.reedy priority: normal severity: normal status: open title: Unparenthesized walrus is not allowed in genexps type: behavior versions: Python 3.10, Python 3.9 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue42374> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com