Terry J. Reedy <tjre...@udel.edu> added the comment:

Minimal example
>>> a{ # or
>>> a {
In 3.8, this is immediately flagged as a SyntaxError.  In 3.9 and master, a 
continuation prompt is issued.  This strikes me as a parsing buglet that should 
preferably be fixed, as it implies that something valid *could* follow '{', 
thus misleading beginners.  On the other hand, after scanning my keyboard, '{' 
seems unique in being a legal symbol, unlike `, $, and ?, or combinations like 
+*, that can AFAIK never follow a name.  So it would need special handling.


Side note: for the same reason I dislike the { change, I like the generic 3.9 
change for legal operators without a second operand. 
>>> a *
Both flag as SyntaxError, but in 3.8, the caret is under '*', falsely implying 
that '*' cannot follow a name, while in 3.9, it is under the whitespace 
following, correct implying that the * is legal and that the problem is lack of 
a second expression (on the same line without continuation).

----------
nosy: +terry.reedy

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue41659>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to