summaryrefslogtreecommitdiff
path: root/pylint/checkers/refactoring/recommendation_checker.py
diff options
context:
space:
mode:
authorDani Alcala <112832187+clavedeluna@users.noreply.github.com>2022-11-10 17:40:18 -0300
committerGitHub <noreply@github.com>2022-11-10 21:40:18 +0100
commitc289271b81f45d0ea28ab02fce2fd2c21d90d491 (patch)
tree88d2a912e75e7c4a6c04a7c9099a2867d510a293 /pylint/checkers/refactoring/recommendation_checker.py
parent18950d8d4180ad46db82efcf9b6c923190390cca (diff)
downloadpylint-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.py9
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