PyAPI_FUNC(int) _PyDict_DelItemIf(PyObject *mp, PyObject *key,
int (*predicate)(PyObject *value));
PyDictKeysObject *_PyDict_NewKeysForClass(void);
-PyAPI_FUNC(PyObject *) PyObject_GenericGetDict(PyObject *, void *);
PyAPI_FUNC(int) _PyDict_Next(
PyObject *mp, Py_ssize_t *pos, PyObject **key, PyObject **value, Py_hash_t *hash);
PyAPI_FUNC(PyObject *) PyDict_GetItemString(PyObject *dp, const char *key);
PyAPI_FUNC(int) PyDict_SetItemString(PyObject *dp, const char *key, PyObject *item);
PyAPI_FUNC(int) PyDict_DelItemString(PyObject *dp, const char *key);
+#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000
+PyAPI_FUNC(PyObject *) PyObject_GenericGetDict(PyObject *, void *);
+#endif
/* Dictionary (keys, values, items) views */
--- /dev/null
+:c:func:`PyObject_GenericGetDict` is available again in the limited API
+when targeting 3.10 or later.
EXPORT_FUNC(PyObject_GC_UnTrack)
EXPORT_FUNC(PyObject_GenericGetAttr)
EXPORT_FUNC(PyObject_GenericSetAttr)
+EXPORT_FUNC(PyObject_GenericGetDict)
EXPORT_FUNC(PyObject_GenericSetDict)
EXPORT_FUNC(PyObject_GetAttr)
EXPORT_FUNC(PyObject_GetAttrString)