]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-118650: Exclude `_repr_*` methods from Enum's _sunder_ reservation (GH-118651)
authorchrysn <chrysn@fsfe.org>
Tue, 7 May 2024 10:35:51 +0000 (12:35 +0200)
committerGitHub <noreply@github.com>
Tue, 7 May 2024 10:35:51 +0000 (12:35 +0200)
Lib/enum.py
Misc/NEWS.d/next/Library/2024-05-06-16-52-40.gh-issue-118650.qKz5lp.rst [new file with mode: 0644]

index 5485306c18843b271f3e27d8913261f8b7e03eea..c36fc75a24a2392ecc492573ec3105fec968254a 100644 (file)
@@ -365,7 +365,10 @@ class EnumDict(dict):
                     '_generate_next_value_', '_numeric_repr_', '_missing_', '_ignore_',
                     '_iter_member_', '_iter_member_by_value_', '_iter_member_by_def_',
                     '_add_alias_', '_add_value_alias_',
-                    ):
+                    # While not in use internally, those are common for pretty
+                    # printing and thus excluded from Enum's reservation of
+                    # _sunder_ names
+                    ) and not key.startswith('_repr_'):
                 raise ValueError(
                         '_sunder_ names, such as %r, are reserved for future Enum use'
                         % (key, )
diff --git a/Misc/NEWS.d/next/Library/2024-05-06-16-52-40.gh-issue-118650.qKz5lp.rst b/Misc/NEWS.d/next/Library/2024-05-06-16-52-40.gh-issue-118650.qKz5lp.rst
new file mode 100644 (file)
index 0000000..85575ea
--- /dev/null
@@ -0,0 +1,2 @@
+The ``enum`` module allows method named ``_repr_*`` to be defined on
+``Enum`` types.