[issue20518] multiple inheritance + C extension = possibly unexpected __base__

2014-02-08 Thread Martin Teichmann
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

[issue20518] multiple inheritance + C extension = possibly unexpected __base__

2014-02-05 Thread Eric Snow
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