Re: SIP v4.19.23 adds dependency on assignment operator

Jochen Sprickerhof <[email protected]> Fri, 26 Jun 2020 16:19:49 +0200
Newsgroups gmane.comp.python.pyqt-pykde
Message-ID <[email protected]>
--zROEGoKAXsG5UqGB
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi Phil,

thanks for the fast reply!

* Phil Thompson <[email protected]> [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=3D(const ChainIkSolverVel_=
pinv_givens& other);

python_orocos_kdl/PyKDL/sip/sipPyKDLpart1.cpp:

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

     if (sipIsOwnedByPython(sipSelf))
     {
         release_ChainIkSolverVel_pinv_givens(sipGetAddress(sipSelf), sipIs=
DerivedClass(sipSelf));
     }
}

python_orocos_kdl/PyKDL/sip/sipPyKDLpart1.cpp: In function =E2=80=98void as=
sign_ChainIkSolverVel_pinv_givens(void*, Py_ssize_t, void*)=E2=80=99:
python_orocos_kdl/PyKDL/sip/sipPyKDLpart1.cpp:1047:137: error: =E2=80=98KDL=
::ChainIkSolverVel_pinv_givens& KDL::ChainIkSolverVel_pinv_givens::operator=
=3D(const KDL::ChainIkSolverVel_pinv_givens&)=E2=80=99 is private within th=
is context
  1047 |     if (sipIsDerivedClass(sipSelf))

Do you have an idea why?

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

Cheers Jochen

--zROEGoKAXsG5UqGB
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEc7KZy9TurdzAF+h6W//cwljmlDMFAl72BAQACgkQW//cwljm
lDN4bA/+M2lACnhWS1tFYjwX0HgAhXkiwjWsXYDoDAmk+iTnFTlQXaHBjCklLB90
HpTJQQA3LwdCiGenwaCGVYPtZuVnlo8qsm+o0iMFnyrxQfwugioWG9e74YDzxfqw
x3KpNX5GbHX0z7Ksdyf49KKbg6LHu6LNE4F6xGL1DR+acu6PbAlopKT+emljeVf3
sWDqJ8usnGouy5+dw8jZ9Kw8gVtApIccxewizBhf7mYAP7ZdzAgv2hhlZFZ2poTy
AYcjYDzyGgpK+UsaKzN4ADHQJg6P1o0twEOR9tGIQs2V7c8448jRlvFON8bpcEey
sLU4eMelnQWX+RumE9mIDz8Q3J+gs4aVWSOzu6gVfECUMcjxQ188Ub+jT75VOkUk
OD5Jic1ZcnX6f24XsU0vx9GjSQ+cH8tZ50VHLUvx6pRKSrhZdkKbQNGDbOE0P87U
ec0N65xIVnSf3TdgsnK5RMx6nvwMZF3jjM2GluPy6Kh6cbVCUivtPGzFvX1whI7f
xso0S2qsTX/FFDAazKcIUCgcNhCdl9UILlt4LOqszcpOxWLSLnHOghZ94T53vbcF
1CpXAnX6urZMN4/rG5pwuGjbv6r32/zM7Zx5QvMuv8AzUSHVAfDfAItpAN1JEwjp
muQckNa7F87uTGw6K/Qp+BWfcAu9TmyFx/q017AG8iAY2eoW618=
=85DW
-----END PGP SIGNATURE-----

--zROEGoKAXsG5UqGB--