diff --git a/tests/functional/u/unused/unused_private_member.py b/tests/functional/u/unused/unused_private_member.py index bec988d30d..1acdd91249 100644 --- a/tests/functional/u/unused/unused_private_member.py +++ b/tests/functional/u/unused/unused_private_member.py @@ -241,3 +241,25 @@ def __init__(self): print("Error") FalsePositive4681.__instance = False # This should be fine FalsePositive4681.__should_cause_error = False # [unused-private-member] + + +class Pony: + """https://github.com/PyCQA/pylint/issues/4837""" + __defaults = {} + __defaults_set = False + + def __init__(self, value): + self.value = value + + def __init_defaults(self): # [unused-private-member] + if not self.__defaults_set: + type(self).__defaults = { "fur": "pink" } + type(self).__defaults_set = True + + def __get_fur_color(self): # [unused-private-member] + color = lookup_attribute(self.__defaults, "fur") + return color + + +def lookup_attribute(mapping, key): + return mapping[key] diff --git a/tests/functional/u/unused/unused_private_member.txt b/tests/functional/u/unused/unused_private_member.txt index 8690955f15..391316d354 100644 --- a/tests/functional/u/unused/unused_private_member.txt +++ b/tests/functional/u/unused/unused_private_member.txt @@ -14,3 +14,5 @@ unused-private-member:212:8:Crash4755Context.__init__:Unused private member `Cra unused-private-member:229:4:FalsePositive4681:Unused private member `FalsePositive4681.__should_cause_error`:HIGH unused-private-member:239:12:FalsePositive4681.__init__:Unused private member `FalsePositive4681.__should_cause_error`:HIGH unused-private-member:243:12:FalsePositive4681.__init__:Unused private member `FalsePositive4681.__should_cause_error`:HIGH +unused-private-member:254:4:Pony.__init_defaults:Unused private member `Pony.__init_defaults(self)`:HIGH +unused-private-member:259:4:Pony.__get_fur_color:Unused private member `Pony.__get_fur_color(self)`:HIGH