]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-117518: Clarify PyTuple_GetItem() borrowed reference in the doc (GH-117920)
authorVictor Stinner <vstinner@python.org>
Fri, 19 Apr 2024 08:41:37 +0000 (10:41 +0200)
committerGitHub <noreply@github.com>
Fri, 19 Apr 2024 08:41:37 +0000 (10:41 +0200)
Doc/c-api/tuple.rst

index b3710560ebe7ac9b5d7505cb653f507993d6da15..0d68a360f347f850e58a568d7c5b729adbc4d515 100644 (file)
@@ -59,6 +59,12 @@ Tuple Objects
    Return the object at position *pos* in the tuple pointed to by *p*.  If *pos* is
    negative or out of bounds, return ``NULL`` and set an :exc:`IndexError` exception.
 
+   The returned reference is borrowed from the tuple *p*
+   (that is: it is only valid as long as you hold a reference to *p*).
+   To get a :term:`strong reference`, use
+   :c:func:`Py_NewRef(PyTuple_GetItem(...)) <Py_NewRef>`
+   or :c:func:`PySequence_GetItem`.
+
 
 .. c:function:: PyObject* PyTuple_GET_ITEM(PyObject *p, Py_ssize_t pos)