Several syntax errors not caught
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.5k
- Forks
- 190
- Avg merge
- 8m
- Merged PRs (30d)
- 13
Description
I just realized that I never opened an issue about this. After https://github.com/PyCQA/pyflakes/pull/20, several compile-time syntax errors are warned about, but not all of them. The reason is that when I was going through the CPython source to find the compile-time errors, some of them seemed too esoteric or complicated, so I didn't implement them. A noncomprehensive list of example:
- Invalid use of global and nonlocal variables https://github.com/PyCQA/pyflakes/issues/249
- Some star expression things in Python 3.4. I don't know if pyflakes still supports 3.4, or if any of these are left in 3.5.
- Anything relating to async/await
These probably should be split out into separate issues, but it would also be a good idea to do an audit of compile.c (or just use my original idea, which will catch every compile-time syntax error automatically).
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review pull requests 20 and 8, then audit CPython's compile.c for compile-time syntax errors that Pyflakes does not report. Check the related issue about invalid global and nonlocal variables and the examples involving star expressions and async/await. Done means the missing compile-time errors are covered, either through targeted handling or the broader approach described in pull request 8.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100