summaryrefslogtreecommitdiff
path: root/pylint/checkers/variables.py
diff options
context:
space:
mode:
authorJacob Walls <jacobtylerwalls@gmail.com>2022-07-05 10:49:47 -0400
committerGitHub <noreply@github.com>2022-07-05 16:49:47 +0200
commit14b3363ffda4014b0f390ef4b2008843b2db8287 (patch)
tree32fb6df34775b13d0dcdcb966dc40161b18909f4 /pylint/checkers/variables.py
parentc1ffa59508841c87e4720c72b2d40fc0ae795622 (diff)
downloadpylint-git-14b3363ffda4014b0f390ef4b2008843b2db8287.tar.gz
Fix crash when using `enumerate` in a ternary expression (#7132)
Diffstat (limited to 'pylint/checkers/variables.py')
-rw-r--r--pylint/checkers/variables.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/pylint/checkers/variables.py b/pylint/checkers/variables.py
index b945bfbd8..4dc469495 100644
--- a/pylint/checkers/variables.py
+++ b/pylint/checkers/variables.py
@@ -2237,9 +2237,12 @@ class VariablesChecker(BaseChecker):
if (
isinstance(inferred, astroid.Instance)
and inferred.qname() == "builtins.enumerate"
- and assign.iter.args
):
- inferred = next(assign.iter.args[0].infer())
+ likely_call = assign.iter
+ if isinstance(assign.iter, nodes.IfExp):
+ likely_call = assign.iter.body
+ if isinstance(likely_call, nodes.Call):
+ inferred = next(likely_call.args[0].infer())
except astroid.InferenceError:
self.add_message("undefined-loop-variable", args=node.name, node=node)
else: