]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-141004: Document missing type flags (GH-145127)
authorPeter Bierma <zintensitydev@gmail.com>
Fri, 27 Feb 2026 15:11:52 +0000 (10:11 -0500)
committerGitHub <noreply@github.com>
Fri, 27 Feb 2026 15:11:52 +0000 (10:11 -0500)
Doc/c-api/typeobj.rst
Tools/check-c-api-docs/ignored_c_api.txt

index bc134b5d00b4ad26300b9f08de367894c841fe60..87b488912653b9671aca92bbb1d1ea9173cd9112 100644 (file)
@@ -1499,6 +1499,52 @@ and :c:data:`PyType_Type` effectively act as defaults.)
          It will be removed in a future version of CPython
 
 
+   .. c:macro:: Py_TPFLAGS_HAVE_VERSION_TAG
+
+      This is a :term:`soft deprecated` macro that does nothing.
+      Historically, this would indicate that the
+      :c:member:`~PyTypeObject.tp_version_tag` field was available and
+      initialized.
+
+
+   .. c:macro:: Py_TPFLAGS_INLINE_VALUES
+
+      This bit indicates that instances of this type will have an "inline values"
+      array (containing the object's attributes) placed directly after the end
+      of the object.
+
+      This requires that :c:macro:`Py_TPFLAGS_HAVE_GC` is set.
+
+      **Inheritance:**
+
+      This flag is not inherited.
+
+      .. versionadded:: 3.13
+
+
+   .. c:macro:: Py_TPFLAGS_IS_ABSTRACT
+
+      This bit indicates that this is an abstract type and therefore cannot
+      be instantiated.
+
+      **Inheritance:**
+
+      This flag is not inherited.
+
+      .. seealso::
+         :mod:`abc`
+
+
+   .. c:macro:: Py_TPFLAGS_HAVE_STACKLESS_EXTENSION
+
+      Internal. Do not set or unset this flag.
+      Historically, this was a reserved flag for use in Stackless Python.
+
+      .. warning::
+            This flag is present in header files, but is not be used.
+            This may be removed in a future version of CPython.
+
+
 .. c:member:: const char* PyTypeObject.tp_doc
 
    .. corresponding-type-slot:: Py_tp_doc
index 7bf79872bd463038ac218e735b4d0587ab1825bf..02a3031e52fb8b87b05701008c0aea3eced50416 100644 (file)
@@ -22,9 +22,6 @@ Py_HASH_EXTERNAL
 PyABIInfo_FREETHREADING_AGNOSTIC
 # object.h
 Py_INVALID_SIZE
-Py_TPFLAGS_HAVE_VERSION_TAG
-Py_TPFLAGS_INLINE_VALUES
-Py_TPFLAGS_IS_ABSTRACT
 # pyexpat.h
 PyExpat_CAPI_MAGIC
 PyExpat_CAPSULE_NAME