You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee=Noneclosed_at=<Date2018-11-22.16:27:53.358>created_at=<Date2018-11-10.01:37:33.708>labels= ['interpreter-core', '3.8']
title='[WIP] Add a new experimental _Py_CAPI2 API'updated_at=<Date2018-11-22.16:27:53.356>user='https://github.com/vstinner'
Add a new experimental "_Py_CAPI2" API: opt-in which doesn't leak implementation details and replace macros with function calls.
Attached PR modified PyTuple_GET_ITEM() if _Py_CAPI2 is defined.
With this API, PyTuple_GET_ITEM() macro becomes a function call and
the implementation uses assertions to check if the first argument is
a tuple and that the index is valid. It should help to investigate
bugs when Python is compiled in debug mode.
I previously tried a very similar patch but reusing Py_DEBUG define, rather than adding a new _Py_CAPI2 define: bpo-35199. I abandonned it because it was backward incompatible. This change is backward compatible: the new API is not compatible with the current API, but the change doesn't impact the default API which remains unchanged.
vstinner
changed the title
Add new experimental _Py_CAPI2 API
Add a new experimental _Py_CAPI2 API
Nov 10, 2018
vstinner
changed the title
Add a new experimental _Py_CAPI2 API
[WIP] Add a new experimental _Py_CAPI2 API
Nov 10, 2018
According to discussions on python-dev, a PEP will be needed first. Moreover, I prefer to make some progress on https://bugs.python.org/issue35134 before. I close the issue.
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: