Skip to content

Commit

Permalink
gh-97909: Fix markup for PyMethodDef members (GH-100089)
Browse files Browse the repository at this point in the history
(cherry picked from commit 8edcb30)

Co-authored-by: ram vikram singh <[email protected]>
  • Loading branch information
miss-islington and ramvikrams authored Dec 17, 2022
1 parent e3d8578 commit 370498b
Showing 1 changed file with 17 additions and 16 deletions.
33 changes: 17 additions & 16 deletions Doc/c-api/structures.rst
Original file line number Diff line number Diff line change
Expand Up @@ -247,29 +247,30 @@ Implementing functions and methods
Structure used to describe a method of an extension type. This structure has
four fields:
+------------------+---------------+-------------------------------+
| Field | C Type | Meaning |
+==================+===============+===============================+
| :attr:`ml_name` | const char \* | name of the method |
+------------------+---------------+-------------------------------+
| :attr:`ml_meth` | PyCFunction | pointer to the C |
| | | implementation |
+------------------+---------------+-------------------------------+
| :attr:`ml_flags` | int | flag bits indicating how the |
| | | call should be constructed |
+------------------+---------------+-------------------------------+
| :attr:`ml_doc` | const char \* | points to the contents of the |
| | | docstring |
+------------------+---------------+-------------------------------+
.. c:member:: const char* ml_name
name of the method
.. c:member:: PyCFunction ml_meth
pointer to the C implementation
.. c:member:: int ml_flags
flags bits indicating how the call should be constructed
.. c:member:: const char* ml_doc
points to the contents of the docstring
The :attr:`ml_meth` is a C function pointer. The functions may be of different
The :c:member:`ml_meth` is a C function pointer. The functions may be of different
types, but they always return :c:expr:`PyObject*`. If the function is not of
the :c:type:`PyCFunction`, the compiler will require a cast in the method table.
Even though :c:type:`PyCFunction` defines the first parameter as
:c:expr:`PyObject*`, it is common that the method implementation uses the
specific C type of the *self* object.
The :attr:`ml_flags` field is a bitfield which can include the following flags.
The :c:member:`ml_flags` field is a bitfield which can include the following flags.
The individual flags indicate either a calling convention or a binding
convention.
Expand Down

0 comments on commit 370498b

Please sign in to comment.