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

Reply via email to