Message383971
IMO, these flags are useless. Both the stable ABI and the version-specific builds of extension modules use the memory layout of the current interpreter and fill unset slots with NULL.
Py_TPFLAGS_HAVE_AM_SEND is new in 3.10, so it can be removed (or replaced by a check for Py_TYPE(iter)->tp_as_async != NULL && Py_TYPE(iter)->tp_as_async->am_send != NULL).
Py_TPFLAGS_HAVE_VERSION_TAG and Py_TPFLAGS_HAVE_FINALIZE are there since 2.6 and 3.8 respectively, and mentioned in documentation. Extensions that use the stable ABI can *check for them*. We cannot do a survey of all existing extension modules. The flags can't be removed without breaking stable ABI. |
|
Date |
User |
Action |
Args |
2020-12-29 10:12:04 | petr.viktorin | set | recipients:
+ petr.viktorin, pitrou, vstinner, corona10, shihai1991 |
2020-12-29 10:12:04 | petr.viktorin | set | messageid: <1609236724.31.0.413510312939.issue42747@roundup.psfhosted.org> |
2020-12-29 10:12:04 | petr.viktorin | link | issue42747 messages |
2020-12-29 10:12:04 | petr.viktorin | create | |
|