[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-18 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:


New changeset a8c418d5ed1103106db547aa576b82c6031985a4 by Pablo Galindo in 
branch '3.10':
[3.10] bpo-44368: Improve syntax errors with invalid as pattern targets 
(GH-26632) (GH-26792)
https://github.com/python/cpython/commit/a8c418d5ed1103106db547aa576b82c6031985a4


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-18 Thread Pablo Galindo Salgado


Change by Pablo Galindo Salgado :


--
pull_requests: +25376
pull_request: https://github.com/python/cpython/pull/26792

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-10 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:


New changeset 05073036dcecefc00b0c3e7397601809da41e2f1 by Pablo Galindo in 
branch 'main':
bpo-44368: Improve syntax errors with invalid as pattern targets (GH-26632)
https://github.com/python/cpython/commit/05073036dcecefc00b0c3e7397601809da41e2f1


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:

Checkout PR 26632, and see if this works for you

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Pablo Galindo Salgado


Change by Pablo Galindo Salgado :


--
pull_requests: +25218
pull_request: https://github.com/python/cpython/pull/26632

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:

> Could we just try parsing "as _" and raise if so? That wouldn't conflict with 
> any existing rules, and that way we could actually have a helpful error 
> message.

No, the same happens with other targets such as:

 File "/home/pablogsal/github/python/master/lel.py", line 2
case 42 as 1+1:
   ^
SyntaxError: expected ':'

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread miss-islington


miss-islington  added the comment:


New changeset f807a4fad4da8f629ea7fe1f00719e817c77b63c by Miss Islington (bot) 
in branch '3.10':
bpo-44368: Ensure we don't raise incorrect custom syntax errors with soft 
keywords (GH-26630)
https://github.com/python/cpython/commit/f807a4fad4da8f629ea7fe1f00719e817c77b63c


--
nosy: +miss-islington

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Brandt Bucher


Brandt Bucher  added the comment:

Like "SyntaxError: can't capture into a wildcard (consider removing)".

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Brandt Bucher


Brandt Bucher  added the comment:

Could we just try parsing "as _" and raise if so? That wouldn't conflict with 
any existing rules, and that way we could actually have a helpful error message.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:

Oh, this one is actually correct:

match ...:
case 42 as _:
pass

  File "", line 2
case 42 as _:
   ^
SyntaxError: expected ':'

That is literally expecting a ":" and that's the error. It has identified "case 
42" correctly and it now expects a ":". Is just that the error marker is wrong 
because it has reached the "as and _" as part of the parsing so the error is 
there.

That is going to be a bit tricky to "fix"

--
nosy:  -miss-islington

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:


New changeset 457ce60fc70f1c9290023f46fb82b6a490dff32e by Pablo Galindo in 
branch 'main':
bpo-44368: Ensure we don't raise incorrect custom syntax errors with soft 
keywords (GH-26630)
https://github.com/python/cpython/commit/457ce60fc70f1c9290023f46fb82b6a490dff32e


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread miss-islington


Change by miss-islington :


--
nosy: +miss-islington
nosy_count: 3.0 -> 4.0
pull_requests: +25217
pull_request: https://github.com/python/cpython/pull/26631

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:

I will fix that one in another PR

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:

> Is this covered by your fix?

No, that is not a backtracking error (is not going all the way to the "match" 
expression).

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Brandt Bucher


Brandt Bucher  added the comment:

I found a similar one, by the way (not related to mapping patterns):

match ...:
case 42 as _:
pass

  File "", line 2
case 42 as _:
   ^
SyntaxError: expected ':'

Is this covered by your fix?

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Brandt Bucher


Brandt Bucher  added the comment:

Wow, that was quite a roller-coaster ride. Thanks Pablo. :)

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Pablo Galindo Salgado


Change by Pablo Galindo Salgado :


--
keywords: +patch
pull_requests: +25216
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/26630

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:

Oh, turns out I already added machinery to solved this but I was missing a 
piece!

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:

I think it actually will be very useful to explain that these cases are invalid 
in the Syntax error, which will also solve this problem.

This on the other hand shows a bigger problem: any generic syntax error that 
happens inside "match" will probably end identifying the keyword as a name, 
even if we don't have specific errors, the parser will point to it and complain 
about "match".

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:

Oh, wait, I think I misunderstood the problem. The problem is that the parser 
is backtracking and identifying match as a name. 

Indeed, the soft keyword is a pain :(

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:

The backtracking with the soft keyword may make this very annoying, by the way.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:

Probably, otherwise is going to hurt because the syntax errors that you 
describe trigger when two names are place together, which in general is a 
missing comma.

The error message also doesn't say: "you are missing a comma" it says that the 
most typical reason is a missing comma, which is important to distinguish :)

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Brandt Bucher


Brandt Bucher  added the comment:

Perhaps we need something like invalid_mapping_pattern or 
invalid_mapping_pattern_double_star rules?

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44368] Invalid mapping patterns give confusing SyntaxErrors

2021-06-09 Thread Brandt Bucher


New submission from Brandt Bucher :

Here are a few that I found. Not sure when they were introduced:

match ...:
case {**rest, "key": value}:
pass

match ...:
case {"first": first, **rest, "last": last}:
pass

match ...:
case {**_}:
pass

These all give the following error while parsing the second line:

  File "", line 1
match ...:
^
SyntaxError: invalid syntax. Perhaps you forgot a comma?

--
components: Parser
messages: 395453
nosy: brandtbucher, lys.nikolaou, pablogsal
priority: normal
severity: normal
status: open
title: Invalid mapping patterns give confusing SyntaxErrors
type: behavior
versions: Python 3.11

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com