Description
Let's consider the two following functions:
QPointer<ABstractType> function_a(); // returns a QPointer<ConcreteType> ABstractType* function_b(); // returns a ConcreteType*
From Python, both will return something that behave the same except for isinstance(object, ConcreteType), with QPointer it will return False.
Digging a bit shows that QPointer wrapped type mro is:
ABstractTypePtr.mro() -> [module.ABstractTypePtr, Shiboken.Object, object]
While the ConcreteType* has something like:
ConcreteType.mro() -> [module.ConcreteType, module.ABstractType, Shiboken.Object, object]
Shouldn't ABstractTypePtr behave exactly like without QPointer?