This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ethan.furman
Recipients ethan.furman
Date 2021-04-26.23:04:32
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1619478272.35.0.783754187217.issue43945@roundup.psfhosted.org>
In-reply-to
Content
Currently, an enum with a mixed-in data type, such as IntEnum, will use that data type's `__format__` -- unless the user provides their own `__str__`, in which case the `str()` of the enum member will be used in the `format()` call.

This behavior will be deprecated in 3.10, and in 3.12 the default `__format__` will use the default `__str__`, which is the standard behavior for Python objects

For those that were relying on, for example,

    class Color(IntEnum):
        RED = 1

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

They will need to add ":d" to ensure the integer output:

    f'{Color.RED:d}'

This change does work now.
History
Date User Action Args
2021-04-26 23:04:32ethan.furmansetrecipients: + ethan.furman
2021-04-26 23:04:32ethan.furmansetmessageid: <1619478272.35.0.783754187217.issue43945@roundup.psfhosted.org>
2021-04-26 23:04:32ethan.furmanlinkissue43945 messages
2021-04-26 23:04:32ethan.furmancreate