Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
Closed
Description
I dislikePyList_New() +PyList_SET_ITEM() API since the list is immediately tracked by the GC and so callinggc.get_objects() can expose an invalid list object (ex: callingrepr(list) can crash). See:
- Disallow creation of incomplete/inconsistent objects capi-workgroup/problems#56
- gh-107137: Add _PyTupleBuilder API to the internal C API #107139
- Avoid creating incomplete/invalid objects capi-workgroup/api-evolution#36
The internalPyObject * _PyTuple_FromArray(PyObject *const *src, Py_ssize_t n) function should be made public.
UPDATE: I updated the issue to request promoting_PyTuple_FromArray() instead of_PyList_FromArraySteal().