diff options
author | Dani Alcala <112832187+clavedeluna@users.noreply.github.com> | 2022-11-10 17:40:18 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-10 21:40:18 +0100 |
commit | c289271b81f45d0ea28ab02fce2fd2c21d90d491 (patch) | |
tree | 88d2a912e75e7c4a6c04a7c9099a2867d510a293 /pylint/checkers/refactoring/recommendation_checker.py | |
parent | 18950d8d4180ad46db82efcf9b6c923190390cca (diff) | |
download | pylint-git-c289271b81f45d0ea28ab02fce2fd2c21d90d491.tar.gz |
Do not report `consider_iterating_dictionary` if bitwise operations are used (#7743)
Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
Diffstat (limited to 'pylint/checkers/refactoring/recommendation_checker.py')
-rw-r--r-- | pylint/checkers/refactoring/recommendation_checker.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/pylint/checkers/refactoring/recommendation_checker.py b/pylint/checkers/refactoring/recommendation_checker.py index f610763be..cda26e064 100644 --- a/pylint/checkers/refactoring/recommendation_checker.py +++ b/pylint/checkers/refactoring/recommendation_checker.py @@ -9,6 +9,7 @@ from astroid import nodes from pylint import checkers from pylint.checkers import utils +from pylint.interfaces import INFERENCE class RecommendationChecker(checkers.BaseChecker): @@ -85,6 +86,10 @@ class RecommendationChecker(checkers.BaseChecker): return if node.func.attrname != "keys": return + + if isinstance(node.parent, nodes.BinOp) and node.parent.op in {"&", "|", "^"}: + return + comp_ancestor = utils.get_node_first_ancestor_of_type(node, nodes.Compare) if ( isinstance(node.parent, (nodes.For, nodes.Comprehension)) @@ -101,7 +106,9 @@ class RecommendationChecker(checkers.BaseChecker): inferred.bound, nodes.Dict ): return - self.add_message("consider-iterating-dictionary", node=node) + self.add_message( + "consider-iterating-dictionary", node=node, confidence=INFERENCE + ) def _check_use_maxsplit_arg(self, node: nodes.Call) -> None: """Add message when accessing first or last elements of a str.split() or |