PyCQA / PyCQA/pyflakes

Several syntax errors not caught

Open
#461 0 comments 1 reaction 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.