[Python-checkins] [3.11] gh-93035: [Enum] Fix IntFlag crash when no single-bit members (GH-93076) (GH-93197)

ethanfurman webhook-mailer at python.org
Wed May 25 13:50:32 EDT 2022


https://github.com/python/cpython/commit/37a7f1b0997466bb088df82f5fe35fe6d1cebb22
commit: 37a7f1b0997466bb088df82f5fe35fe6d1cebb22
branch: 3.11
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: ethanfurman <ethan at stoneleaf.us>
date: 2022-05-25T10:50:24-07:00
summary:

[3.11] gh-93035: [Enum] Fix IntFlag crash when no single-bit members (GH-93076) (GH-93197)

`EnumType` attempts to create a custom docstring for each enum/flag, but that was failing with pathological flags that had no members (only multi-bit aliases).
(cherry picked from commit 08cfc3dabf0f81a4494cd0d697befc7d0dec77b7)

Co-authored-by: Tobin Yehle <tobinyehle at gmail.com>

files:
M Lib/enum.py

diff --git a/Lib/enum.py b/Lib/enum.py
index 31923d757f803..4a21226f0193f 100644
--- a/Lib/enum.py
+++ b/Lib/enum.py
@@ -538,7 +538,7 @@ def __new__(metacls, cls, bases, classdict, *, boundary=None, _simple=False, **k
         #
         # create a default docstring if one has not been provided
         if enum_class.__doc__ is None:
-            if not member_names:
+            if not member_names or not list(enum_class):
                 enum_class.__doc__ = classdict['__doc__'] = _dedent("""\
                         Create a collection of name/value pairs.
 



More information about the Python-checkins mailing list