Stefan Behnel <stefan...@behnel.de> added the comment:

> they can equally easily zero out the entire structure and ignore it without 
> changing behavior on any Python 3.x.

Any solution that we apply in Cython will require users to regenerate their .c 
sources with a new Cython version in order to make it compile in Py3.8. The 
main decision point in this ticket is: should they need to or not? Everything 
else is just minor technicalities. (I didn't bring up this topic, but the 
question is up on the table now.)


> I have no problem changing the names of deprecated/reserved fields in 
> PyTypeObject between releases. Source compatibility guarantees do not extend 
> that far.

Fair enough, and I'm ok with letting CPython move forward cleanly and break 
things that are easily fixed on user side.

My point is that it makes no sense to justify bpo-37221 with the goal of not 
breaking Cython modules, when at the same time another change (the one 
discussed here) has already broken them. Either we find a striking 
justification for bpo-37221 that *excludes* Cython generated modules, or we 
take back *both* changes and restore full source code compatibility. Everything 
in between is just causing useless code churn and annoyance on all sides.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue37250>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to