_PyWeakref_ClearRef was previously exposed in the public C-API, although
it begins with an underscore and is not documented. It's used by a few
C-API extensions. There is currently no alternative public API that can
replace its use.
_PyWeakref_ClearWeakRefsExceptCallbacks is the only thread-safe way to
use _PyWeakref_ClearRef in the free-threaded build. This exposes the C
symbol, but does not make the API public.
#endif
};
+PyAPI_FUNC(void) _PyWeakref_ClearRef(PyWeakReference *self);
+
Py_DEPRECATED(3.13) static inline PyObject* PyWeakref_GET_OBJECT(PyObject *ref_obj)
{
PyWeakReference *ref;
// intact.
extern void _PyWeakref_ClearWeakRefsExceptCallbacks(PyObject *obj);
-extern void _PyWeakref_ClearRef(PyWeakReference *self);
-
PyAPI_FUNC(int) _PyWeakref_IsDead(PyObject *weakref);
#ifdef __cplusplus
--- /dev/null
+Restore ``_PyWeakref_ClearRef`` that was previously removed in Python 3.13
+alpha 1.