SIP v4.19.23 adds dependency on assignment operator

Jochen Sprickerhof pyqt at jochen.sprickerhof.de
Fri Jun 26 15:19:49 BST 2020


Hi Phil,

thanks for the fast reply!

* Phil Thompson <phil at riverbankcomputing.com> [2020-06-26 14:46]:
> So you need to tell SIP this by defining a private assignment operator.

I tried that but SIP still generates code that is refused by gcc:

orocos_kdl/src/chainiksolvervel_pinv_givens.hpp:

+     private:
+         ChainIkSolverVel_pinv_givens& operator=(const ChainIkSolverVel_pinv_givens& other);

python_orocos_kdl/PyKDL/sip/sipPyKDLpart1.cpp:

extern "C" {static void dealloc_ChainIkSolverVel_pinv_givens(sipSimpleWrapper *);}
static void dealloc_ChainIkSolverVel_pinv_givens(sipSimpleWrapper *sipSelf)
{
     if (sipIsDerivedClass(sipSelf))
         reinterpret_cast<sipChainIkSolverVel_pinv_givens *>(sipGetAddress(sipSelf))->sipPySelf = SIP_NULLPTR;

     if (sipIsOwnedByPython(sipSelf))
     {
         release_ChainIkSolverVel_pinv_givens(sipGetAddress(sipSelf), sipIsDerivedClass(sipSelf));
     }
}

python_orocos_kdl/PyKDL/sip/sipPyKDLpart1.cpp: In function ‘void assign_ChainIkSolverVel_pinv_givens(void*, Py_ssize_t, void*)’:
python_orocos_kdl/PyKDL/sip/sipPyKDLpart1.cpp:1047:137: error: ‘KDL::ChainIkSolverVel_pinv_givens& KDL::ChainIkSolverVel_pinv_givens::operator=(const KDL::ChainIkSolverVel_pinv_givens&)’ is private within this context
  1047 |     if (sipIsDerivedClass(sipSelf))

Do you have an idea why?

Also, the assignment operator is already removed by the compiler, having to 
manually define it private sounds superfluous.

Cheers Jochen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20200626/fe2e4b7d/attachment.sig>


More information about the PyQt mailing list