Skip to content

Commit

Permalink
bpo-43977: Document the new pattern matching type flags (GH-25734)
Browse files Browse the repository at this point in the history
  • Loading branch information
brandtbucher committed May 2, 2021
1 parent cbb7b9e commit 9387fac
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 0 deletions.
44 changes: 44 additions & 0 deletions Doc/c-api/typeobj.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1219,6 +1219,50 @@ and :c:type:`PyType_Type` effectively act as defaults.)
.. versionadded:: 3.10


.. data:: Py_TPFLAGS_MAPPING

This bit indicates that instances of the class may match mapping patterns
when used as the subject of a :keyword:`match` block. It is automatically
set when registering or subclassing :class:`collections.abc.Mapping`, and
unset when registering :class:`collections.abc.Sequence`.

.. note::

:const:`Py_TPFLAGS_MAPPING` and :const:`Py_TPFLAGS_SEQUENCE` are
mutually exclusive; it is an error enable both flags simultaneously.

**Inheritance:**

This flag is inherited by types that do not already set
:const:`Py_TPFLAGS_SEQUENCE`.

.. seealso:: :pep:`634` -- Structural Pattern Matching: Specification

.. versionadded:: 3.10


.. data:: Py_TPFLAGS_SEQUENCE

This bit indicates that instances of the class may match sequence patterns
when used as the subject of a :keyword:`match` block. It is automatically
set when registering or subclassing :class:`collections.abc.Sequence`, and
unset when registering :class:`collections.abc.Mapping`.

.. note::

:const:`Py_TPFLAGS_MAPPING` and :const:`Py_TPFLAGS_SEQUENCE` are
mutually exclusive; it is an error enable both flags simultaneously.

**Inheritance:**

This flag is inherited by types that do not already set
:const:`Py_TPFLAGS_MAPPING`.

.. seealso:: :pep:`634` -- Structural Pattern Matching: Specification

.. versionadded:: 3.10


.. c:member:: const char* PyTypeObject.tp_doc
An optional pointer to a NUL-terminated C string giving the docstring for this
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Document the new :const:`Py_TPFLAGS_MAPPING` and
:const:`Py_TPFLAGS_SEQUENCE` type flags.

0 comments on commit 9387fac

Please sign in to comment.