summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorAnže Pečar <anze@pecar.me>2023-05-01 19:49:54 (GMT)
committerGitHub <noreply@github.com>2023-05-01 19:49:54 (GMT)
commite665563f8301d0db5cb0847d75fc879f074aa100 (patch)
treef743801837d0504cd46c2f3446aa770fd0d9257d /Doc
parent3ed8c882902a6982fd67e898a5b8a2d619fb5ddf (diff)
downloadcpython-e665563f8301d0db5cb0847d75fc879f074aa100.zip
cpython-e665563f8301d0db5cb0847d75fc879f074aa100.tar.gz
cpython-e665563f8301d0db5cb0847d75fc879f074aa100.tar.bz2
gh-100458: Clarify Enum.__format__() change of mixed-in types in the whatsnew/3.11.rst (GH-100387)
Co-authored-by: JosephSBoyle <48555120+JosephSBoyle@users.noreply.github.com> Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
Diffstat (limited to 'Doc')
-rw-r--r--Doc/whatsnew/3.11.rst18
1 files changed, 5 insertions, 13 deletions
diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst
index 10fcfb6..687719a 100644
--- a/Doc/whatsnew/3.11.rst
+++ b/Doc/whatsnew/3.11.rst
@@ -666,19 +666,11 @@ enum
for :meth:`~object.__str__` and :meth:`~object.__format__`
(used by :func:`str`, :func:`format` and :term:`f-string`\s).
-* Changed :class:`~enum.IntEnum`, :class:`~enum.IntFlag` and :class:`~enum.StrEnum`
- to now inherit from :class:`~enum.ReprEnum`,
- so their :func:`str` output now matches :func:`format`
- (both ``str(AnIntEnum.ONE)`` and ``format(AnIntEnum.ONE)`` return ``'1'``,
- whereas before ``str(AnIntEnum.ONE)`` returned ``'AnIntEnum.ONE'``.
-
-* Changed :meth:`Enum.__format__() <enum.Enum.__format__>`
- (the default for :func:`format`, :meth:`str.format` and :term:`f-string`\s)
- of enums with mixed-in types (e.g. :class:`int`, :class:`str`)
- to also include the class name in the output, not just the member's key.
- This matches the existing behavior of :meth:`enum.Enum.__str__`,
- returning e.g. ``'AnEnum.MEMBER'`` for an enum ``AnEnum(str, Enum)``
- instead of just ``'MEMBER'``.
+* Changed :meth:`Enum.__format__() <enum.Enum.__format__>` (the default for
+ :func:`format`, :meth:`str.format` and :term:`f-string`\s) to always produce
+ the same result as :meth:`Enum.__str__()`: for enums inheriting from
+ :class:`~enum.ReprEnum` it will be the member's value; for all other enums
+ it will be the enum and member name (e.g. ``Color.RED``).
* Added a new *boundary* class parameter to :class:`~enum.Flag` enums
and the :class:`~enum.FlagBoundary` enum with its options,