diff --git a/pylint/checkers/refactoring/refactoring_checker.py b/pylint/checkers/refactoring/refactoring_checker.py index bab86b4bf7..e63386186d 100644 --- a/pylint/checkers/refactoring/refactoring_checker.py +++ b/pylint/checkers/refactoring/refactoring_checker.py @@ -676,8 +676,10 @@ def _check_consider_using_min_max_builtin(self, node: astroid.If): if isinstance(right_statement, astroid.Name): right_statement_value = right_statement.name - else: + elif isinstance(right_statement, astroid.Const): right_statement_value = right_statement.value + else: + return # Verify the right part of the statement is the same. if right_statement_value != body_value: diff --git a/tests/functional/c/consider/consider_using_min_max_builtin.py b/tests/functional/c/consider/consider_using_min_max_builtin.py index e12e4992ff..6e7c7b8864 100644 --- a/tests/functional/c/consider/consider_using_min_max_builtin.py +++ b/tests/functional/c/consider/consider_using_min_max_builtin.py @@ -95,3 +95,13 @@ def __le__(self, b): value = 10 else: value = 3 + + +# https://github.com/PyCQA/pylint/issues/4379 +var = 1 +if var == -1: + var = None + +var2 = 1 +if var2 in [1, 2]: + var2 = None