[Python-Dev] Borrowed and Stolen References in API (original) (raw)

Greg Ewing greg.ewing at canterbury.ac.nz
Thu May 5 00:23:01 CEST 2011


Amaury Forgeot d'Arc wrote:

It's in the file Doc/data/refcounts.dat in some custom format.

However, it doesn't seem to quite convey the same information. It lists the "refcount effect" on each parameter, but translating that into the notion of borrowed or stolen references seems to require knowledge of what the function does.

For example, PyDict_SetItem has:

PyDict_SetItem:PyObject*:p:0: PyDict_SetItem:PyObject*:key:+1: PyDict_SetItem:PyObject*:val:+1:

All of these parameters take borrowed references, but the key and val get incremented because they're being stored in the dict.

So this file appears to be of limited usefulness.

-- Greg



More information about the Python-Dev mailing list