Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix crash in refactoring checker from unaryop with variable (#9075)
Fixes: ``` File "python3.10/site-packages/pylint/utils/ast_walker.py", line 91, in walk callback(astroid) File "python3.10/site-packages/pylint/checkers/refactoring/refactoring_checker.py", line 700, in visit_for self._check_unnecessary_list_index_lookup(node) File "python3.10/site-packages/pylint/checkers/refactoring/refactoring_checker.py", line 2227, in _check_unnecessary_list_index_lookup has_start_arg, confidence = self._enumerate_with_start(node) File "python3.10/site-packages/pylint/checkers/refactoring/refactoring_checker.py", line 2352, in _enumerate_with_start start_val, confidence = self._get_start_value(keyword.value) File "python3.10/site-packages/pylint/checkers/refactoring/refactoring_checker.py", line 2369, in _get_start_value return node.operand.value, HIGH AttributeError: 'Name' object has no attribute 'value' ``` Crash is reproducible if you have something like this: ```python x=5 for _ in enumerate(range, start=-x): ... ``` As a workaround, remove the unary op before `for` loop (i.e. change the variable used). Closes #9074 Co-authored-by: Hashem Nasarat <hashem@hudson-trading.com>
- Loading branch information