Petr Viktorin <encu...@gmail.com> added the comment:

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.

----------

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

Reply via email to