* @brief Shim for `_PyDictView_New`. * Since Python 3.13, `_PyDictView_New` function became an internal API. * @see Modified from https://github.com/python/cpython/blob/v3.13.0rc1/Objects/dictobject.c#L5806-L5827 */
| 79 | * @see Modified from https://github.com/python/cpython/blob/v3.13.0rc1/Objects/dictobject.c#L5806-L5827 |
| 80 | */ |
| 81 | inline PyObject *PyDictView_New(PyObject *dict, PyTypeObject *type) { |
| 82 | #if PY_VERSION_HEX < 0x030d0000 // Python version is lower than 3.13 |
| 83 | return _PyDictView_New(dict, type); |
| 84 | #else |
| 85 | _PyDictViewObject *dv; |
| 86 | dv = PyObject_GC_New(_PyDictViewObject, type); |
| 87 | if (dv == NULL) |
| 88 | return NULL; |
| 89 | Py_INCREF(dict); |
| 90 | dv->dv_dict = (PyDictObject *)dict; |
| 91 | PyObject_GC_Track(dv); |
| 92 | return (PyObject *)dv; |
| 93 | #endif |
| 94 | } |
| 95 | |
| 96 | /** |
| 97 | * @brief Shim for `_PyErr_SetKeyError`. |
no outgoing calls
no test coverage detected