]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.14] gh-141004: Document missing type flags (GH-145127) (GH-145316)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 27 Feb 2026 15:17:35 +0000 (16:17 +0100)
committerGitHub <noreply@github.com>
Fri, 27 Feb 2026 15:17:35 +0000 (15:17 +0000)
gh-141004: Document missing type flags (GH-145127)
(cherry picked from commit dc1b56aa03a1764e7c6bbcbf190b1c293eb5c462)

Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
Doc/c-api/typeobj.rst
Tools/check-c-api-docs/ignored_c_api.txt

index 5129e9ee6f0774206e0467c2b2cfc52007cc0d18..a0db4c31065e9ea0684a77cb983226f92f264a8e 100644 (file)
@@ -1484,6 +1484,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 eed3935a258c4f9546ae0d60140e78ebdd6822fd..1477774a6d2d4cf6d50a22124e500db0fd5a7076 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