Skip to content
Closed
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions Doc/c-api/mapping.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,11 @@ Mapping Protocol

.. c:function:: int PyMapping_Check(PyObject *o)

Return ``1`` if the object provides mapping protocol, and ``0`` otherwise. This
function always succeeds.
**Not recommended.** Return ``1`` if the object provides the C-API mapping
protocol, and ``0`` otherwise. This function always succeeds. The C-API
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I recommend using @serhiy-storchaka's suggested wording to move this PR forward.

The C-API mapping protocol is not equivalent to :class:collections.abc.Mapping, and also returns 1 for sequences that support slicing. Use :c:func::PyObject_IsInstance instead.

PyMapping_Check() also returns 1 for sequences that support slicing.

mapping protocol is not equivalent to :class:`collections.abc.Mapping`, and
also returns ``1`` for sequences that support slicing. Use
:c:func::`PyObject_IsInstance` instead.


.. c:function:: Py_ssize_t PyMapping_Size(PyObject *o)
Expand Down