[New-bugs-announce] [issue40618] PEG Parser: Invalid targets for augassign and except succeed
Lysandros Nikolaou
report at bugs.python.org
Wed May 13 20:15:04 EDT 2020
New submission from Lysandros Nikolaou <lisandrosnik at gmail.com>:
Tuples and lists, which are invalid augmented assignment targets, currently get successfully parsed, without failing.
➜ cpython git:(targets-fix) ✗ ./python -X oldparser
Python 3.9.0a6+ (heads/master-dirty:75cd8e48c6, May 14 2020, 03:01:42)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> (a, b) += (1, 2)
File "<stdin>", line 1
SyntaxError: illegal expression for augmented assignment
➜ cpython git:(pr/20076) ./python
Python 3.9.0a6+ (heads/pr/20076:bcf5be2772, May 14 2020, 02:15:37)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> (a, b) += 1
SystemError: invalid node type (26) for augmented assignment
We also accept arbitrary targets in `except` clauses, while we should only be accepting NAME nodes:
➜ cpython git:(master) ./python
Python 3.9.0a6+ (heads/master:75cd8e48c6, May 14 2020, 03:14:03)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> try:
... pass
... except Exception as a.b:
... pass
...
[1] 135956 segmentation fault (core dumped) ./python
----------
assignee: lys.nikolaou
components: Interpreter Core
messages: 368809
nosy: gvanrossum, lys.nikolaou, pablogsal
priority: normal
severity: normal
status: open
title: PEG Parser: Invalid targets for augassign and except succeed
type: behavior
versions: Python 3.9
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue40618>
_______________________________________
More information about the New-bugs-announce
mailing list