]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-43945: [Enum] Deprecate non-standard mixin format() behavior (GH-25649)
authorEthan Furman <ethan@stoneleaf.us>
Tue, 27 Apr 2021 05:42:57 +0000 (22:42 -0700)
committerGitHub <noreply@github.com>
Tue, 27 Apr 2021 05:42:57 +0000 (22:42 -0700)
commit5987b8c463892e0ab7a63cdae92f34b5eb79732d
tree1f68608c9660039046b3119828a7b596b25563cc
parentcfe523b49280cdc8c239c807121ad3f33552f638
bpo-43945: [Enum] Deprecate non-standard mixin format() behavior (GH-25649)

In 3.12 the enum member, not the member's value, will be used for
format() calls.  Format specifiers can be used to retain the current
display of enum members:

Example enumeration:

    class Color(IntEnum):
        RED = 1
        GREEN = 2
        BLUE = 3

Current behavior:

    f'{Color.RED}'  -->  '1'

Future behavior:

    f'{Color.RED}'  --> 'RED'

Using d specifier:

    f'{Color.RED:d}'  --> '1'

Using specifiers can be done now and is future-compatible.
Lib/enum.py
Lib/test/test_enum.py
Misc/NEWS.d/next/Library/2021-04-26-20-52-16.bpo-43945.NgERXO.rst [new file with mode: 0644]