Repository navigation
Enum: revert to 3.9 #88725
Description
Activity
From the SC (was Re: Enum -- last call for comments on 3.10 changes)
--------------------------------------------------------------------The Steering Council discussed this topic at our meeting yesterday. We have some
discomfort about the changes to Enum’s str and repr in Python 3.10, both in the
specific changes and in the way the changes were decided on. No knock on Ethan or
others who participated in those decisions, it’s just that to us, the changes
cumulatively feel like they need a more formal, centralized discussion to understand
all the issues in detail.While we’re stopping short of requiring it, the Steering Council strongly suggests that
for Python 3.10, the changes in Enum’s str and repr be reverted back to the Python 3.9
behavior, and that a PEP be written for Python 3.11.The changes were primarily spurred both by the changes to re.RegexFlag and by unfortunate choices made in enum.Flag regarding aliases and iteration that were corrected.
Unfortunately, it proved too difficult to revert the Flag repr() while keeping the corrections, so the entire enum module is being reverted to its 3.9 version.
All the bug-fixes, performance improvements, and other enhancements will have to wait for 3.11.
- addedstdlibStandard Library Python modules in the Lib/ directoryStandard Library Python modules in the Lib/ directory
on Jul 4, 2021 It seems the revert was not done properly: it removed from 3.10 some bugfixes that had been applied to 3.9 (see bpo-42248 for an example).
Going back through the various bug fixes that got cut from 3.10 to re-add to 3.10.1.
Hi folks! So I'm a bit confused here. As I've followed the story so far, @ethanfurman made some major changes to Enum in the 3.10 timeframe, e.g. #24215 . There was some opposition to this and the decision in this ticket was that the changes should be reverted for 3.10, and "a PEP be written for Python 3.11" - implicitly, a PEP covering the changes.
It does seem like a PEP was written, and it was rejected. That, to me, implies the changes should not be in 3.11, right? But they are. The reversion was only ever done on the 3.10 branch. It was not done on the 3.11 branch. #24215 and related changes are present in 3.11, but they are not mentioned at all in the changes doc.
Is this intended, or is the SC's expectation that in rejecting the PEP, the changes that were reverted in 3.10 should also be reverted in 3.11 and future releases?
Thanks!
Tagging @warsaw , as he wrote the rejection notice. Not sure of the protocol for tagging SC, sorry.
Ah, never mind, I found #91041 . I was looking at the 3.11.0b3 release tag so I was a bit out of date, I see the activity on main now.
versionaddedto 3.11 for new features #27388Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields: