This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author steve.dower
Recipients jdemeyer, ncoghlan, petr.viktorin, scoder, steve.dower, vstinner
Date 2019-06-19.20:50:40
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
> 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 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.
Date User Action Args
2019-06-19 20:50:41steve.dowersetrecipients: + steve.dower, ncoghlan, scoder, vstinner, petr.viktorin, jdemeyer
2019-06-19 20:50:41steve.dowersetmessageid: <>
2019-06-19 20:50:41steve.dowerlinkissue37250 messages
2019-06-19 20:50:40steve.dowercreate