Issue #24254: Preserve class attribute definition order.
diff --git a/Include/object.h b/Include/object.h
index 0c88603..85bfce3 100644
--- a/Include/object.h
+++ b/Include/object.h
@@ -421,6 +421,8 @@
destructor tp_finalize;
+ PyObject *tp_deforder;
+
#ifdef COUNT_ALLOCS
/* these must be last and never explicitly initialized */
Py_ssize_t tp_allocs;
diff --git a/Include/odictobject.h b/Include/odictobject.h
index c1d9592..ca865c7 100644
--- a/Include/odictobject.h
+++ b/Include/odictobject.h
@@ -28,6 +28,10 @@
PyAPI_FUNC(int) PyODict_SetItem(PyObject *od, PyObject *key, PyObject *item);
PyAPI_FUNC(int) PyODict_DelItem(PyObject *od, PyObject *key);
+#ifndef Py_LIMITED_API
+PyAPI_FUNC(PyObject *) _PyODict_KeysAsTuple(PyObject *od);
+#endif
+
/* wrappers around PyDict* functions */
#define PyODict_GetItem(od, key) PyDict_GetItem((PyObject *)od, key)
#define PyODict_GetItemWithError(od, key) \