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

Amaury Forgeot d'Arc amauryfa at gmail.com
Thu May 5 12:38:32 CEST 2011


Hi,

Le jeudi 5 mai 2011, Greg Ewing <greg.ewing at canterbury.ac.nz> a écrit :

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, PyDictSetItem has: PyDictSetItem:PyObject*:p:0: PyDictSetItem:PyObject*:key:+1: PyDictSetItem: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.

This is not always true, for example when the item is already present in the dict. It's not important to know what the function does to the object, Only the action on the reference is relevant.

So this file appears to be of limited usefulness.

-- Amaury

-- Amaury Forgeot d'Arc



More information about the Python-Dev mailing list