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:
Hello,
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.
Regards
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
ordering.
+1
Makes sense to me. As currently defined, you cannot rely on the item order anyway.