On 25 maj 2013, at 15:45, Antoine Pitrou <solipsis@pitrou.net> wrote:

On Sat, 25 May 2013 15:26:58 +0200
Antoine Pitrou <solipsis@pitrou.net> wrote:

On Sat, 25 May 2013 06:23:56 -0700
Eli Bendersky <eliben@gmail.com> wrote:
On Sat, May 25, 2013 at 6:18 AM, Antoine Pitrou <solipsis@pitrou.net> wrote:


In http://bugs.python.org/issue17936, I proposed making tp_subclasses
(the internal container implementing object.__subclasses__) a dict.
This would make the return order of __subclasses__ completely
undefined, while it is right now slightly predictable. I have never seen
__subclasses__ actually used in production code, so I'm wondering
whether someone might be affected by such a change.


Personally I never used it, but it's now explicitly documented as returning
a list. Not sure what's the right thing to do here, but perhaps returning
an OrderedDict can eliminate the order problem?

It would still return a list.

I guess I should explain myself more clearly: __subclasses__() already
computes its result on-the-fly (it must weed out dead weakrefs) (*). So
the visible behaviour of __subclasses__ wouldn't change, except for


Makes sense to me. As currently defined, you cannot rely on the item order anyway.

Best regards,
Ɓukasz Langa

WWW: http://lukasz.langa.pl/
Twitter: @llanga
IRC: ambv on #python-dev