On 1/26/22 3:02 PM, Victor Stinner wrote:
Hi,

My PEP 674 proposed to change PyDescr_TYPE() and PyDescr_NAME()
macros. This change breaks M2Crypto and mecab-python3 projects in code
generated by SWIG. I tried two solutions to prevent SWIG accessing
PyDescrObject members directly:
https://bugs.python.org/issue46538

At the end, IMO it's too much work, whereas there is no need in the
short term to modify the PyDescrObject structure, or structure
inheriting from PyDescrObject.

So I excluded PyDescr_TYPE() and PyDescr_NAME() macros from PEP 674 to
leave them unchanged:
https://python.github.io/peps/pep-0674/#pydescr-name-and-pydescr-type-are-left-unchanged


Just so I understand: is this effectively permanent?  My first thought was, we get SWIG to change its code generation, and in a couple of years we can follow up and make this change.  But perhaps there's so much SWIG code out there already, and the change would propagate so slowly, that it's not even worth considering.  Is it something like that?  Or is it just that it's such a minor change that it's not worth fighting about?


/arry

p.s. thanks for doing this!