Message346105
| Author |
petr.viktorin |
| Recipients |
jdemeyer, ncoghlan, petr.viktorin, scoder, steve.dower, vstinner |
| Date |
2019年06月20日.07:14:49 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1561014890.15.0.0914302697757.issue37250@roundup.psfhosted.org> |
| In-reply-to |
| Content |
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. |
|