diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | pylint/checkers/refactoring/recommendation_checker.py | 2 | ||||
-rw-r--r-- | tests/functional/c/consider_using_enumerate.py | 5 |
3 files changed, 11 insertions, 0 deletions
@@ -95,6 +95,10 @@ Release date: TBA * Removed incorrect deprecation of ``inspect.getfullargspec`` +* Fix a crash in `consider-using-enumerate` when encountering `range()` without arguments + + Close #3735 + What's New in Pylint 2.6.0? =========================== diff --git a/pylint/checkers/refactoring/recommendation_checker.py b/pylint/checkers/refactoring/recommendation_checker.py index 0ca907f32..1617c934c 100644 --- a/pylint/checkers/refactoring/recommendation_checker.py +++ b/pylint/checkers/refactoring/recommendation_checker.py @@ -67,6 +67,8 @@ class RecommendationChecker(checkers.BaseChecker): return if not self._is_builtin(node.iter.func, "range"): return + if not node.iter.args: + return is_constant_zero = ( isinstance(node.iter.args[0], astroid.Const) and node.iter.args[0].value == 0 diff --git a/tests/functional/c/consider_using_enumerate.py b/tests/functional/c/consider_using_enumerate.py index cff00aeec..2ac382b18 100644 --- a/tests/functional/c/consider_using_enumerate.py +++ b/tests/functional/c/consider_using_enumerate.py @@ -66,3 +66,8 @@ class Good(object): # Should not suggest enumerate on self
for i in range(len(self)):
yield self[i]
+
+
+def does_not_crash_on_range_without_args():
+ for elem in range():
+ print(elem)
|