On 10 September 2016 at 17:49, Ethan Furman <et...@stoneleaf.us> wrote: > Per Victor's advice I'm posting this here. > > PEP 520 has been accepted, but without the __definition_order__ attribute. > The accompanying comment: > >> "Note: Since compact dict has landed in 3.6, __definition_order__ 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 __definition_order__ 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 | ncogh...@gmail.com | Brisbane, Australia _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com