diff options
author | Brandt Bucher <brandt@python.org> | 2021-05-02 22:35:00 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-02 22:35:00 (GMT) |
commit | 9387fac100db359cbb6ec2a76f8a5eba8f9d7b65 (patch) | |
tree | 50b2d7b1a39f296a6bd57733e087a5dde3622787 /Doc | |
parent | cbb7b9ed4a6069a2cb2e2f809926c2cfa332a493 (diff) | |
download | cpython-9387fac100db359cbb6ec2a76f8a5eba8f9d7b65.zip cpython-9387fac100db359cbb6ec2a76f8a5eba8f9d7b65.tar.gz cpython-9387fac100db359cbb6ec2a76f8a5eba8f9d7b65.tar.bz2 |
bpo-43977: Document the new pattern matching type flags (GH-25734)
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/c-api/typeobj.rst | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst index 5e731bd..82f2ab5 100644 --- a/Doc/c-api/typeobj.rst +++ b/Doc/c-api/typeobj.rst @@ -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 |