diff options
author | Jacob Walls <jacobtylerwalls@gmail.com> | 2022-07-05 10:49:47 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-05 16:49:47 +0200 |
commit | 14b3363ffda4014b0f390ef4b2008843b2db8287 (patch) | |
tree | 32fb6df34775b13d0dcdcb966dc40161b18909f4 /pylint/checkers/variables.py | |
parent | c1ffa59508841c87e4720c72b2d40fc0ae795622 (diff) | |
download | pylint-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.py | 7 |
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: |