Skip to content

Commit 700fa1b

Browse files
authored
Note the buffer slots can be set with PyType_Spec with the unlimited API. (pythonGH-22031)
Follow up to f7c4e23.
1 parent 17dc1b7 commit 700fa1b

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

Doc/c-api/type.rst

+10-1
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,8 @@ The following functions and structs are used to create
225225
* ``Py_nb_add`` to set :c:member:`PyNumberMethods.nb_add`
226226
* ``Py_sq_length`` to set :c:member:`PySequenceMethods.sq_length`
227227
228-
The following fields cannot be set using :c:type:`PyType_Spec` and :c:type:`PyType_Slot`:
228+
The following fields cannot be set at all using :c:type:`PyType_Spec` and
229+
:c:type:`PyType_Slot`:
229230
230231
* :c:member:`~PyTypeObject.tp_dict`
231232
* :c:member:`~PyTypeObject.tp_mro`
@@ -239,13 +240,21 @@ The following functions and structs are used to create
239240
(see :ref:`PyMemberDef <pymemberdef-offsets>`)
240241
* :c:member:`~PyTypeObject.tp_vectorcall_offset`
241242
(see :ref:`PyMemberDef <pymemberdef-offsets>`)
243+
244+
The following fields cannot be set using :c:type:`PyType_Spec` and
245+
:c:type:`PyType_Slot` under the limited API:
246+
242247
* :c:member:`~PyBufferProcs.bf_getbuffer`
243248
* :c:member:`~PyBufferProcs.bf_releasebuffer`
244249
245250
Setting :c:data:`Py_tp_bases` may be problematic on some platforms.
246251
To avoid issues, use the *bases* argument of
247252
:py:func:`PyType_FromSpecWithBases` instead.
248253
254+
.. versionchanged:: 3.9
255+
256+
Slots in :c:type:`PyBufferProcs` in may be set in the unlimited API.
257+
249258
.. c:member:: void *PyType_Slot.pfunc
250259
251260
The desired value of the slot. In most cases, this is a pointer

0 commit comments

Comments
 (0)