On 08. 12. 21 18:06, Eric Snow wrote:
On Wed, Dec 8, 2021 at 2:23 AM Petr Viktorin <encu...@gmail.com> wrote:
That really depends on what function we'd want to remove. There are
usually alternatives to deleting things, but the options depend on the
function. If we run out of other options we can make the function always
fail or make it leak memory.
And the regular backwards compatibility policy gives us 2 years to
figure something out :)
What about the various symbols listed in Misc/stable_abi.txt that were
accidentally added to the limited API? Can we move toward dropping
them from the stable ABI?
Most notably, there are quite a few functions listed there that are in
the stable ABI but no longer in the limited API. This implies that
either they were already deprecated in the limited API (and removed)
or they were just removed. At least in some cases they were moved to
header files in Include/cpython or Include/internal. So I would not
expect extensions to be using them. This subset of those symbols
seems entirely appropriate to remove from the stable ABI. Is that
okay? Do we even need to bother deprecating them? What about just
the "private" ones?
For example, I went to change/remove _PyThreadState_Init() (internal
API declared in Include/internal/pycore_pystate.h) and found that it
is in the stable ABI but not the limited API. It's highly unlikely
anyone is using it and plan on double-checking. As far as I can tell,
the function was accidentally exposed in the limited API and stable
ABI and later removed from the limited API.
It's possible to remove them just like _PyObject_GC_Malloc was removed,
but check that it was unusable (e.g. not called from public macros) in
all versions of Python from 3.2 up to now.
Could you check if this PR makes things clear?
https://github.com/python/devguide/pull/778
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at
https://mail.python.org/archives/list/python-dev@python.org/message/T3M5AE6DFB2C6JAMCAMAIC2XQDNOKND5/
Code of Conduct: http://python.org/psf/codeofconduct/