Carsten Klein added the comment:

The change was introduced in r30 (Python/symtable.c @ near where it reads /* 
Special-case super: it counts as a use of __class__ */)
which now enforces that a class that calls super on init will have the correct 
class information present.

I do not think that this is a bug and that it should be fixed.
Instead it enforces both type safety in respect to classes deriving from a 
given class hierarchy being forced to report their actual class instead of some 
fabricated and customly induced one.

If you require such behaviour then you should implement your own meta class 
that will then override the __class__ property.

And, yes, I do think that Python < 3.0 was wrong in the assumption that one 
could build up class hierarchies and then break out of that class hierarchy by 
simply providing a __class__ property that would return a different value as 
what one would expected.

What do the others think?

----------
nosy: +carsten.kl...@axn-software.de

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue12370>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to