bpo-40334: Produce better error messages for non-parenthesized genexps#20153
Merged
pablogsal merged 5 commits intopython:masterfrom May 22, 2020
Merged
bpo-40334: Produce better error messages for non-parenthesized genexps#20153pablogsal merged 5 commits intopython:masterfrom
pablogsal merged 5 commits intopython:masterfrom
Conversation
The error message, generated for non-parenthesized generator expression in function calls, was still the generic `invalid syntax`, when the generator expression wasn't appearing as the first argument in the call. Now, even on input like `f(a, b, c for c in d, e)`, the correct error message gets produced.
Member
|
Humm, there are still some mistmatches. For instance: with the old parser: |
Member
Author
Fixed in ed64876. |
Member
Author
|
@pablogsal Would you be able to give this another review? |
Member
Absolutely, will try to review this tonight :) |
Member
Author
No rush, whenever you find the time. |
pablogsal
approved these changes
May 22, 2020
Member
|
LGTM I have been playing with some edge cases and it behaves as expected 🎉 |
Contributor
|
Thanks @lysnikolaou for the PR, and @pablogsal for merging it 🌮🎉.. I'm working now to backport this PR to: 3.9. |
miss-islington
pushed a commit
to miss-islington/cpython
that referenced
this pull request
May 22, 2020
pythonGH-20153) The error message, generated for a non-parenthesized generator expression in function calls, was still the generic `invalid syntax`, when the generator expression wasn't appearing as the first argument in the call. With this patch, even on input like `f(a, b, c for c in d, e)`, the correct error message gets produced. (cherry picked from commit ae14583) Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
|
GH-20307 is a backport of this pull request to the 3.9 branch. |
Member
Author
|
Thanks thanks! |
miss-islington
added a commit
that referenced
this pull request
May 22, 2020
GH-20153) The error message, generated for a non-parenthesized generator expression in function calls, was still the generic `invalid syntax`, when the generator expression wasn't appearing as the first argument in the call. With this patch, even on input like `f(a, b, c for c in d, e)`, the correct error message gets produced. (cherry picked from commit ae14583) Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
arturoescaip
pushed a commit
to arturoescaip/cpython
that referenced
this pull request
May 24, 2020
pythonGH-20153) The error message, generated for a non-parenthesized generator expression in function calls, was still the generic `invalid syntax`, when the generator expression wasn't appearing as the first argument in the call. With this patch, even on input like `f(a, b, c for c in d, e)`, the correct error message gets produced.
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The error message, generated for non-parenthesized generator expression
in function calls, was still the generic
invalid syntax, when thegenerator expression wasn't appearing as the first argument in the call.
Now, even on inputs like
f(a, b, c for c in d, e), the correct errormessage gets produced.
PS Last one with this bpo number. Promise!
https://bugs.python.org/issue40334