[issue37250] C files generated by Cython set tp_print to 0: PyTypeObject.tp_print removed
Petr Viktorin
report at bugs.python.org
Thu Jun 20 03:14:50 EDT 2019
Petr Viktorin <encukou at gmail.com> added the comment:
I agree with Steve that renaming tp_print to tp_vectorcall_offset is well within our rights.
For reference, the rationale for the replacing is the first section of:
https://mail.python.org/pipermail/python-dev/2018-June/153927.html
I hope Cython's situation here has not changed. (In that case, we should bring tp_print back, and add tp_vectorcall_offset to the end.)
Now, I see the question of bringing tp_print back as a *practical* compatibility matter, a workaround for the combination of two unfortunate issues:
- Cython sets tp_print in Python 3 (which is a bug, but honestly, the word "reserved" could very well be interpreted as "unused" rather than "don't touch this" -- and even the post linked above, and by extension PEP 590, implies that interpretation!)
- Packages hard-code Cython-generated files (which is a workaround for a long-standing setuptools limitation that is only recently being addressed).
If we bring tp_print back, it would be because *we shouldn't punish users* even if we can. Nobody did anything wrong, apart from a quite understandable bug/misunterstanding.
Note that 3rd party projects *do not* have the whole beta cycle to adapt. Until NumPy works, its dependents can't start adapting. (Unless adapting is done without PyPI packages, like the Fedora rebuild where we now "re-Cythonize" everything.)
On the other hand, 3rd party projects don't really *need* to support 3.8.0 as soon as it's released. It's just that if they don't support the betas and RCs, we're don't get feedback for them in time.
So I think the question is: Is (the rest of) the beta cycle enough for enough of the ecosystem to release new wheels, or should we give them the whole 3.9 cycle?
I believe 3.8 beta2 is enough, and we don't need to bring tp_print back.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue37250>
_______________________________________
More information about the Python-bugs-list
mailing list