Try to detect non-global unused imports.#369
Merged
Carreau merged 1 commit intodeshaw:masterfrom Nov 11, 2024
Merged
Conversation
3d54464 to
b5e38dc
Compare
We do so by tracking the imports on exist of each scopestack; and on
exist, if there is an import that has not been checked; we mark it as
unused.
This seem to have side effects as the SourceToSource transformer is
aware it cannot remove non-global imports and emit a error message.
Note that this also affects conditional imports:
```
if sys.version_info > X,y:
from foo import bar
else:
from foo.new import bar
```
The first import will be marked as unused as shoadowed by the second one
(pyflyby does not understand the if/else).
This also does some refactor and type anotations while I am at it.
b5e38dc to
209bb19
Compare
Collaborator
Author
|
Partial step toward #273 |
saharan-deshaw
pushed a commit
that referenced
this pull request
Dec 3, 2024
Major changes: - Bumped lint from 3.12 to 3.13 (#370) - Bumped actions/checkout from 3 to 4 (#371) - Bumped peaceiris/actions-gh-pages from 3 to 4 (#373) - Bumped codecov/codecov-action from 2 to 4 (#374) - Bump actions/setup-python from 3 to 5 (#372) - Try to detect non-gloabl unused imports (#369) - Set sys.last_value / sys.last_exc before entering the debugger (#380) - Disable auto-import of lazy variables (#379) - Bump codecov/codecov-action from 4 to 5 (#378)
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.
We do so by tracking the imports on exist of each scopestack; and on exist, if there is an import that has not been checked; we mark it as unused.
This seem to have side effects as the SourceToSource transformer is aware it cannot remove non-global imports and emit a error message.
Note that this also affects conditional imports:
The first import will be marked as unused as shoadowed by the second one (pyflyby does not understand the if/else).
This also does some refactor and type anotations while I am at it.