Issue 28048: Adjust class-build method of Enum so final ordered dict more closely resembles definition order (original) (raw)
With the landing of ordered class namespaces the build order for Enum needs to be redone to at least keep the user-specified pieces' relative order intact:
from enum import Enum class Color(Enum): ... red = 1 ... blue = 2 ... green = 3 ... def primary(self): ... return True ... Color.dict.keys() dict_keys(['generate_next_value', 'module', 'primary', 'doc', 'member_names', 'member_map', 'member_type', 'value2member_map', 'red', 'blue', 'green', 'new'])