[PyQt] SIP and multiple inheritance ambiguity
swt at techie.net
Wed Jun 8 04:25:11 BST 2016
On Mon, 6 Jun 2016, Scott Talbert wrote:
>> I'm trying to wrap a set of classes that have a diamond multiple
>> inheritance hierarchy (A inherits from B and C; B and C inherit from D).
>> When SIP generates the cast_A function, it won't compile under GCC 6.1.1
>> due to an ambiguous base error:
>> error: 'D' is an ambiguous base of 'A'
>> return static_cast<D *>(sipCpp);
>> Any ideas on how to work around this, other than hand editing the cast_X
> Actually, I was wrong about this being related to a change in GCC. It turns
> out this is related to a SIP change in 4.18:
> I'm thinking SIP could possibly check the list of target types and if there
> are duplicates, it could omit those from the cast function?
Simple patch attached.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 739 bytes
More information about the PyQt