@@ -33,6 +33,13 @@ under :ref:`reference counting <countingrefs>`.
3333 The members must not be accessed directly; instead use macros such as
3434 :c:macro: `Py_REFCNT ` and :c:macro: `Py_TYPE `.
3535
36+ In the :ref: `Stable ABI <stable-abi >` for Free-Threaded Builds (``abi3t ``),
37+ this struct is opaque; its size and layout may change between
38+ Python versions.
39+ In Stable ABI for non-free-threaded builds (``abi3 ``), the
40+ :c:member: `!ob_refcnt ` and :c:member: `!ob_type ` fields are available,
41+ but using them directly is discouraged.
42+
3643 .. c :member :: Py_ssize_t ob_refcnt
3744
3845 The object's reference count, as returned by :c:macro: `Py_REFCNT `.
@@ -72,6 +79,19 @@ under :ref:`reference counting <countingrefs>`.
7279 instead use macros such as :c:macro: `Py_SIZE `, :c:macro: `Py_REFCNT ` and
7380 :c:macro: `Py_TYPE `.
7481
82+ In the :ref: `Stable ABI <stable-abi >` for Free-Threaded Builds (``abi3t ``),
83+ this struct is opaque; its size and layout may change between
84+ Python versions.
85+ In Stable ABI for non-free-threaded builds (``abi3 ``), the
86+ :c:member: `!ob_base ` and :c:member: `!ob_size ` fields are available,
87+ but using them directly is discouraged.
88+
89+ .. c :member :: PyObject ob_base
90+
91+ Common object header.
92+ Typically, this field is not accessed directly; instead
93+ :c:type: `!PyVarObject ` can be cast to :c:type: `PyObject `.
94+
7595 .. c :member :: Py_ssize_t ob_size
7696
7797 A size field, whose contents should be considered an object's internal
0 commit comments