summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/whatsnew/fragments/8613.false_positive3
-rw-r--r--pylint/constants.py1
-rw-r--r--tests/functional/ext/bad_dunder/bad_dunder_name.py3
3 files changed, 7 insertions, 0 deletions
diff --git a/doc/whatsnew/fragments/8613.false_positive b/doc/whatsnew/fragments/8613.false_positive
new file mode 100644
index 000000000..80d28e9c2
--- /dev/null
+++ b/doc/whatsnew/fragments/8613.false_positive
@@ -0,0 +1,3 @@
+Fix a false positive for ``bad-dunder-name`` when there is a user-defined ``__index__`` method.
+
+Closes #8613
diff --git a/pylint/constants.py b/pylint/constants.py
index c6f40936b..5bf4abf5c 100644
--- a/pylint/constants.py
+++ b/pylint/constants.py
@@ -231,6 +231,7 @@ EXTRA_DUNDER_METHODS = [
"__getnewargs_ex__",
"__getnewargs__",
"__getstate__",
+ "__index__",
"__setstate__",
"__reduce__",
"__reduce_ex__",
diff --git a/tests/functional/ext/bad_dunder/bad_dunder_name.py b/tests/functional/ext/bad_dunder/bad_dunder_name.py
index 48247aba0..6008866b1 100644
--- a/tests/functional/ext/bad_dunder/bad_dunder_name.py
+++ b/tests/functional/ext/bad_dunder/bad_dunder_name.py
@@ -49,6 +49,9 @@ class Apples:
def __doc__(self):
return "Docstring"
+ def __index__(self):
+ return 1
+
def __increase_me__(val):
return val + 1