This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author terry.reedy
Recipients gvanrossum, lys.nikolaou, terry.reedy
Date 2020-09-04.22:47:56
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1599259676.82.0.121583428889.issue41659@roundup.psfhosted.org>
In-reply-to
Content
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).
History
Date User Action Args
2020-09-04 22:47:56terry.reedysetrecipients: + terry.reedy, gvanrossum, lys.nikolaou
2020-09-04 22:47:56terry.reedysetmessageid: <1599259676.82.0.121583428889.issue41659@roundup.psfhosted.org>
2020-09-04 22:47:56terry.reedylinkissue41659 messages
2020-09-04 22:47:56terry.reedycreate
Morty Proxy This is a proxified and sanitized view of the page, visit original site.