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

Georg Brandl g.brandl at gmx.net
Fri May 6 20:16:20 CEST 2011


On 06.05.2011 12:27, Antoine Pitrou wrote:

On Fri, 06 May 2011 13:28:11 +1200 Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:

Amaury Forgeot d'Arc wrote [concerning the Doc/data/refcounts.dat file]:

> 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. Yes, that's the whole point. When using a functon, what you need to know is whether it borrows or steals a reference. Doesn't "borrow" mean the same as "steal" in that context? If an API borrows a reference, I expect it to take it from me.

Basically, "borrow" is applied to return values (or, more generally, "out" parameters), and means that you borrowed the reference. "steal", OTOH, is applied to (and the exception for) "in" parameters.

Georg



More information about the Python-Dev mailing list