Steve Dower <steve.do...@python.org> added the comment:

> a class compiled with 3.7 could subclass a class compiled with 3.8 which uses 
> vectorcall.

This isn't a supported scenario though. The only way to mix extension modules 
compiled against different Python versions is to use the limited ABI, which 
does not include PyTypeObject. And PyType_FromSpec is going to allocate a 
PyTypeObject according to the version of Python that is running, not the one it 
was compiled against. So even if someone could force this scenario, it's not 
one we have to worry about.

> The idea is just to give more time (one Python major release) to maintainers 
> of C extensions to regenerate their Cython .c files.

If the beta cycle isn't long enough for this, then we need a longer beta cycle, 
since that's the whole point of it. Projects that can't make at least one new 
release with update Cython in time for Python 3.8 are presumably completely 
unmaintained - it's not like the 3.8 release is a huge surprise - and if 
completely unmaintained they aren't going to get a new release for 3.9 either. 
So either we fix them permanently by not removing tp_print ever, or we give 
them an entire beta release period to update their code for the new version of 
Python.

There's a discussion at 
https://discuss.python.org/t/pep-596-python-3-9-release-schedule-doubling-the-release-cadence/1828
 about updating the release cycle, and a couple of PEPs being written. That 
would be a good place to suggest that our current beta release is not long 
enough for packages to adapt to new releases.

----------

_______________________________________
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