Martin Teichmann added the comment:
I've been working a bit on a solution to this issue, one proposal
is in the attached patch. The patch adds a new flag to tp_flags,
called Py_TPFLAGS_SOLID, which marks a class as being solid, i.e.
its memory layout is incompatible with its parent layout. C
Eric Snow added the comment:
So to restate, where some class Spam inherits from multiple classes and at
least one was written in C, Spam.__base__ may have an unexpected value.
So, to conclude: it is sometimes not possible to use python
cooperative multiple inheritance if C base classes are