Skip to content
Snippets Groups Projects
Unverified Commit 3132318c authored by Miss Islington (bot)'s avatar Miss Islington (bot) Committed by GitHub
Browse files

[3.11] [Enum] add whatsnew entries (GH-95455) (GH-95620)


(cherry picked from commit 6bde3400)

Co-authored-by: default avatarEthan Furman <ethan@stoneleaf.us>
parent 2c0017b5
Branches
Tags
No related merge requests found
...@@ -471,6 +471,49 @@ datetime ...@@ -471,6 +471,49 @@ datetime
formats (barring only those that support fractional hours and minutes). formats (barring only those that support fractional hours and minutes).
(Contributed by Paul Ganssle in :gh:`80010`.) (Contributed by Paul Ganssle in :gh:`80010`.)
enum
----
* ``EnumMeta`` renamed to ``EnumType`` (``EnumMeta`` kept as alias).
* ``StrEnum`` added -- enum members are and must be strings.
* ``ReprEnum`` added -- causes only the ``__repr__`` to be modified, not the
``__str__`` nor the ``__format__``.
* ``FlagBoundary`` added -- controls behavior when invalid values are given to
a flag.
* ``EnumCheck`` added -- used by ``verify`` to ensure various constraints.
* ``verify`` added -- function to ensure given ``EnumCheck`` constraints.
* ``member`` added -- decorator to ensure given object is converted to an enum
member.
* ``nonmember`` added -- decorator to ensure given object is not converted to
an enum member.
* ``property`` added -- use instead of ``types.DynamicClassAttribute``.
* ``global_enum`` added -- enum decorator to adjust ``__repr__`` and ``__str__``
to show members in the global context -- see ``re.RegexFlag`` for an example.
* ``Flag`` enhancements: members support length, iteration, and containment
checks.
* ``Enum``/``Flag`` fixes: members are now defined before ``__init_subclass__``
is called; ``dir()`` now includes methods, etc., from mixed-in data types.
* ``Flag`` fixes: only primary values (power of two) are considered canonical
while composite values (3, 6, 10, etc.) are considered aliases; inverted
flags are coerced to their positive equivalent.
* ``IntEnum`` / ``IntFlag`` / ``StrEnum`` fixes: these now inherit from
``ReprEnum`` so the ``str()`` output now matches ``format()`` output,
which is the data types' (so both ``str(AnIntEnum.ONE)`` and
``format(AnIntEnum.ONE)`` is equal to ``'1'``).
fractions fractions
--------- ---------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment