[Python-Dev] PEP520 and absence of definition_order (original) (raw)
Nick Coghlan ncoghlan at gmail.com
Sat Sep 10 05:27:59 EDT 2016
- Previous message (by thread): [Python-Dev] PEP520 and absence of __definition_order__
- Next message (by thread): [Python-Dev] PEP520 and absence of __definition_order__
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 10 September 2016 at 17:49, Ethan Furman <ethan at stoneleaf.us> wrote:
Per Victor's advice I'm posting this here.
PEP 520 has been accepted, but without the definitionorder attribute. The accompanying comment:
"Note: Since compact dict has landed in 3.6, definitionorder has been removed. cls.dict now mostly accomplishes the same thing instead." The "mostly" is what concerns me. Much like having a custom dir lets a class fine-tune what is of interest, a custom definitionorder allows a class to present a unified view of the class creation process. This could be important to classes that employ getattr (or getattribute) to provide virtual attributes, such as Enum or proxy classes.
+1
The reasoning for modifying the PEP post-acceptance is faulty - definition_order wasn't just there as a CPython implementation detail, it was there as a way to allow class and metaclass developers to hide their own irrelevant implementation details.
Since definition_order was already accepted, and the rationale for removing it is incorrect, could we please have it back for beta 1?
Regards, Nick.
-- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
- Previous message (by thread): [Python-Dev] PEP520 and absence of __definition_order__
- Next message (by thread): [Python-Dev] PEP520 and absence of __definition_order__
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]