STINNER Victor <vstin...@python.org> added the comment:
Py_buffer.shape requires a Py_ssize_t* pointer. It's not convenient. For example, the array module uses: static int array_buffer_getbuf(arrayobject *self, Py_buffer *view, int flags) { ... if ((flags & PyBUF_ND)==PyBUF_ND) { view->shape = &((PyVarObject*)self)->ob_size; } ... return 0; } This code is not compatible with a fully opaque PyObject structure: https://bugs.python.org/issue39573#msg401395 ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue45459> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com