@@ -678,7 +678,9 @@ and :c:type:`PyType_Type` effectively act as defaults.)
678
678
This field is only used if the flag :const: `_Py_TPFLAGS_HAVE_VECTORCALL `
679
679
is set. If so, this must be a positive integer containing the offset in the
680
680
instance of a :c:type: `vectorcallfunc ` pointer.
681
- Arguments to ``vectorcallfunc `` are the same as for :c:func: `_PyObject_Vectorcall `.
681
+ The signature is the same as for :c:func: `_PyObject_Vectorcall `::
682
+
683
+ PyObject *vectorcallfunc(PyObject *callable, PyObject *const *args, size_t nargsf, PyObject *kwnames)
682
684
683
685
The *vectorcallfunc * pointer may be zero, in which case the instance behaves
684
686
as if :const: `_Py_TPFLAGS_HAVE_VECTORCALL ` was not set: calling the instance
@@ -707,10 +709,14 @@ and :c:type:`PyType_Type` effectively act as defaults.)
707
709
708
710
**Inheritance: **
709
711
710
- This slot is inherited for static extension types
711
- together with the flag :const: `_Py_TPFLAGS_HAVE_VECTORCALL `,
712
- but only if :c:member: `~PyTypeObject.tp_call ` is also inherited.
713
- `Heap types `_ never inherit this.
712
+ This field is inherited by *static * subtypes together with
713
+ :c:member: `~PyTypeObject.tp_call `: a subtype inherits both
714
+ :c:member: `~PyTypeObject.tp_vectorcall_offset ` and
715
+ :c:member: `~PyTypeObject.tp_call ` from its base type when the subtype’s
716
+ :c:member: `~PyTypeObject.tp_call ` and :c:member: `~PyTypeObject.tp_vectorcall_offset `
717
+ are both NULL.
718
+
719
+ `Heap types `_ never inherit :c:member: `~PyTypeObject.tp_vectorcall_offset `.
714
720
715
721
716
722
.. c :member :: getattrfunc PyTypeObject.tp_getattr
0 commit comments