[New-bugs-announce] [issue30616] Cannot use functional API to create enum with zero values
Gerrit Holl
report at bugs.python.org
Fri Jun 9 13:30:17 EDT 2017
New submission from Gerrit Holl:
The OO API allows to create empty enums, i.e. without any values. However, the functional API does not, as this will result in an IndexError as shown below:
In [1]: import enum
In [2]: class X(enum.IntFlag): pass
In [3]: Y = enum.IntFlag("Y", [])
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-3-1fda5945e0b2> in <module>()
----> 1 Y = enum.IntFlag("Y", [])
~/lib/python3.6/enum.py in __call__(cls, value, names, module, qualname, type, start)
291 return cls.__new__(cls, value)
292 # otherwise, functional API: we're creating a new Enum type
--> 293 return cls._create_(value, names, module=module, qualname=qualname, type=type, start=start)
294
295 def __contains__(cls, member):
~/lib/python3.6/enum.py in _create_(cls, class_name, names, module, qualname, type, start)
382 if isinstance(names, str):
383 names = names.replace(',', ' ').split()
--> 384 if isinstance(names, (tuple, list)) and isinstance(names[0], str):
385 original_names, names = names, []
386 last_values = []
IndexError: list index out of range
----------
messages: 295559
nosy: Gerrit.Holl
priority: normal
severity: normal
status: open
title: Cannot use functional API to create enum with zero values
versions: Python 3.6
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue30616>
_______________________________________
More information about the New-bugs-announce
mailing list