https://github.com/python/cpython/commit/65bf6f549b7ff0a120a88e57b6831e3279f6b3ca commit: 65bf6f549b7ff0a120a88e57b6831e3279f6b3ca branch: 3.14 author: Miss Islington (bot) <[email protected]> committer: hugovk <[email protected]> date: 2025-08-27T16:58:07+03:00 summary:
[3.14] gh-138098: Clarify strong references in `PyDict_Next` docs on the free-threaded build (GH-138106) (#138141) Co-authored-by: PrinceNaroliya <[email protected]> files: M Doc/c-api/dict.rst diff --git a/Doc/c-api/dict.rst b/Doc/c-api/dict.rst index e55c5c80cb83c0..0fbe26b56c0a7c 100644 --- a/Doc/c-api/dict.rst +++ b/Doc/c-api/dict.rst @@ -301,6 +301,15 @@ Dictionary Objects } Py_END_CRITICAL_SECTION(); + .. note:: + + On the free-threaded build, this function can be used safely inside a + critical section. However, the references returned for *pkey* and *pvalue* + are :term:`borrowed <borrowed reference>` and are only valid while the + critical section is held. If you need to use these objects outside the + critical section or when the critical section can be suspended, create a + :term:`strong reference <strong reference>` (for example, using + :c:func:`Py_NewRef`). .. c:function:: int PyDict_Merge(PyObject *a, PyObject *b, int override) _______________________________________________ Python-checkins mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3//lists/python-checkins.python.org Member address: [email protected]
