[Python-Dev] PEP520 and absence of definition_order (original) (raw)
Terry Reedy tjreedy at udel.edu
Sat Sep 10 05:47:36 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 9/10/2016 5:27 AM, Nick Coghlan wrote:
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 - definitionorder 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 definitionorder was already accepted, and the rationale for removing it is incorrect, could we please have it back for beta 1?
Someone (Ethan?) should ask that this be a release blocker on some issue.
-- Terry Jan Reedy
- 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 ]