-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Implement F402 #221
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Implement F402 #221
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
import os | ||
import os.path as path | ||
|
||
|
||
for os in range(3): | ||
pass | ||
|
||
for path in range(3): | ||
pass | ||
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
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
--- | ||
source: src/linter.rs | ||
expression: checks | ||
--- | ||
- kind: | ||
ImportShadowedByLoopVar: | ||
- os | ||
- 1 | ||
location: | ||
row: 5 | ||
column: 5 | ||
fix: ~ | ||
- kind: | ||
ImportShadowedByLoopVar: | ||
- path | ||
- 2 | ||
location: | ||
row: 8 | ||
column: 5 | ||
fix: ~ | ||
|
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Flake8 has this check for
self.differentForks(node, existing.source)
, which I think enables them to avoid flagging errors in cases like this:(
ruff
raises F402 here, but Flake8 doesn't.)It might be okay to have false positives for this rule in particular, but it seems like something we'll have to solve to support
RedefinedWhileUnused
and some others.differentForks
requires that we store the parent stack for every binding, and then implement thedifferentForks
logic.Do you think that's worth doing here, as part of this PR? Or would you rather merge w/ these limitations?
(Either way, can we add an example using the
if
/else
toF402.py
, even if it has a TODO saying that we shouldn't be flagging that line?)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess pylint doesn't really do this, so maybe we should just not worry about it for now.
For example, pylint has a rule (
W0621
) around using a variable name that shadows a variable in the outer scope, and it does get triggered here: