solving the metaclass conflict
mis6 at pitt.edu
Mon Jun 9 16:12:40 CEST 2003
pje at telecommunity.com (Phillip J. Eby) wrote in message news:<25b5433d.0306081024.517d855e at posting.google.com>...
> Under Python 2.2, you can't mix a new-style class with 'type' (and not
> cause Python to core-dump when you inspect the resulting class!). So
> if you want to create a mixin that can be used with 'type' as well as
> other kinds of classes, you *have* to use a classic class.
I misinterpreted you, you are saying that the *class* cannot be
inspected, not the metaclass. You are indeed right:
class N(object): pass
class M(N,type): pass
class C: __metaclass__=M
help(C) # core dump under Python 2.2
Fortunately, this is not the case for Python 2.3, therefore I don't
see the reason to support explicitely old style classes.
More information about the Python-list