diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2023-04-12 17:34:34 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-12 17:34:34 +0200 |
commit | 16fe498b68c170b317eaea94bf85efd568a1dd0a (patch) | |
tree | c541686924a2e689a043e918a2f4688123d6cea5 /pylint/checkers/variables.py | |
parent | 61dae1e5f4fa4b8f2f93d8846e66f4eee6cc877f (diff) | |
download | pylint-git-16fe498b68c170b317eaea94bf85efd568a1dd0a.tar.gz |
Fix `unused-import` to check`dummy-variables-rgx` (#8566) (#8568)
Resolve #8500
Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
(cherry picked from commit 0cd41b1fb15e31eb311b61f93bc27f7cacc2f7ac)
Co-authored-by: RSTdefg <34202999+RSTdefg@users.noreply.github.com>
Diffstat (limited to 'pylint/checkers/variables.py')
-rw-r--r-- | pylint/checkers/variables.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/pylint/checkers/variables.py b/pylint/checkers/variables.py index 79d9ded08..8cd1ed83c 100644 --- a/pylint/checkers/variables.py +++ b/pylint/checkers/variables.py @@ -3062,6 +3062,13 @@ class VariablesChecker(BaseChecker): imported_name in self._type_annotation_names or as_name in self._type_annotation_names ) + + is_dummy_import = ( + as_name + and self.linter.config.dummy_variables_rgx + and self.linter.config.dummy_variables_rgx.match(as_name) + ) + if isinstance(stmt, nodes.Import) or ( isinstance(stmt, nodes.ImportFrom) and not stmt.modname ): @@ -3072,12 +3079,11 @@ class VariablesChecker(BaseChecker): # because they can be imported for exporting. continue - if is_type_annotation_import: + if is_type_annotation_import or is_dummy_import: # Most likely a typing import if it wasn't used so far. + # Also filter dummy variables. continue - if as_name == "_": - continue if as_name is None: msg = f"import {imported_name}" else: @@ -3095,8 +3101,9 @@ class VariablesChecker(BaseChecker): # __future__ import in another module. continue - if is_type_annotation_import: + if is_type_annotation_import or is_dummy_import: # Most likely a typing import if it wasn't used so far. + # Also filter dummy variables. continue if imported_name == "*": |