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.
This issue implements the idea that I proposed on python-dev:
https://mail.python.org/pipermail/python-dev/2018-November/155702.html |