:c:member:`~PyTypeObject.tp_weaklistoffset` field is set in a superclass.
+ .. c:macro:: Py_TPFLAGS_PREHEADER
+
+ These bits indicate that the VM will manage some fields by storing them
+ before the object. Currently, this macro is equivalent to
+ :c:expr:`Py_TPFLAGS_MANAGED_DICT | Py_TPFLAGS_MANAGED_WEAKREF`.
+
+ This macro value relies on the implementation of the VM, so its value is not
+ stable and may change in a future version. Prefer using individual
+ flags instead.
+
+ .. versionadded:: 3.12
+
+
.. c:macro:: Py_TPFLAGS_ITEMS_AT_END
Only usable with variable-size types, i.e. ones with non-zero
*/
#define Py_TPFLAGS_MANAGED_DICT (1 << 4)
+/* Type has dictionary or weakref pointers that are managed by VM and has
+ * to allocate space to store these.
+ */
#define Py_TPFLAGS_PREHEADER (Py_TPFLAGS_MANAGED_WEAKREF | Py_TPFLAGS_MANAGED_DICT)
/* Set if instances of the type object are treated as sequences for pattern matching */