Improve descriptions of our error codes #450
Merged
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.
This PR tries to make the motivation for each flake8-pyi rule clear. As ruff has reimplemented flake8-pyi's error codes, it's come up a number of times that it isn't always 100% clear why we're enforcing a particular rule: some of our error codes enforce things to do with correctness, but some of them are purely stylistic. (See astral-sh/ruff#8765 for a recent example.) I've tried to divide our error codes into four broad categories to rectify this.
Several of our rules are specifically to do with things working differently in a stub file compared to at runtime. For some of these rules, I've also tried to add a few more words to explain exactly how stubs differ from
.py
files.