]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Note the buffer slots can be set with PyType_Spec with the unlimited API. (GH-22031)
authorBenjamin Peterson <benjamin@python.org>
Wed, 2 Sep 2020 01:36:42 +0000 (20:36 -0500)
committerGitHub <noreply@github.com>
Wed, 2 Sep 2020 01:36:42 +0000 (20:36 -0500)
Follow up to f7c4e236429606e1c982cacf24e10fc86ef4462f.

Doc/c-api/type.rst

index 7309d7ee2cd398f3e36e4a706aaa77ca2459f097..73f26875d8194a844022ec3ea3b445570133d335 100644 (file)
@@ -225,7 +225,8 @@ The following functions and structs are used to create
       * ``Py_nb_add`` to set :c:member:`PyNumberMethods.nb_add`
       * ``Py_sq_length`` to set :c:member:`PySequenceMethods.sq_length`
 
-      The following fields cannot be set using :c:type:`PyType_Spec` and :c:type:`PyType_Slot`:
+      The following fields cannot be set at all using :c:type:`PyType_Spec` and
+      :c:type:`PyType_Slot`:
 
       * :c:member:`~PyTypeObject.tp_dict`
       * :c:member:`~PyTypeObject.tp_mro`
@@ -239,6 +240,10 @@ The following functions and structs are used to create
         (see :ref:`PyMemberDef <pymemberdef-offsets>`)
       * :c:member:`~PyTypeObject.tp_vectorcall_offset`
         (see :ref:`PyMemberDef <pymemberdef-offsets>`)
+
+      The following fields cannot be set using :c:type:`PyType_Spec` and
+      :c:type:`PyType_Slot` under the limited API:
+
       * :c:member:`~PyBufferProcs.bf_getbuffer`
       * :c:member:`~PyBufferProcs.bf_releasebuffer`
 
@@ -246,6 +251,10 @@ The following functions and structs are used to create
       To avoid issues, use the *bases* argument of
       :py:func:`PyType_FromSpecWithBases` instead.
 
+     .. versionchanged:: 3.9
+
+        Slots in :c:type:`PyBufferProcs` in may be set in the unlimited API.
+
    .. c:member:: void *PyType_Slot.pfunc
 
       The desired value of the slot. In most cases, this is a pointer