Diamond inheritance with str
Jeff Epler
jepler at unpythonic.net
Mon Jun 16 15:52:51 EDT 2003
I don't understand why it fixes the problem, but if you write this
instead, it works:
>>> class A(str): pass
...
>>> class B(A): pass
...
>>> class C(A): pass
...
>>> class D(B, C): pass
...
The original case fails just like your message described:
>>> class B1(str): pass
...
>>> class C1(str): pass
...
>>> class D1(B1, B2): pass
...
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: multiple bases have instance lay-out conflict
This is in Python 2.2.2.
Jeff
More information about the Python-list
mailing list