A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2011-May/111212.html below:

[Python-Dev] Borrowed and Stolen References in API

[Python-Dev] Borrowed and Stolen References in API [Python-Dev] Borrowed and Stolen References in APIRaymond Hettinger raymond.hettinger at gmail.com
Thu May 5 20:12:55 CEST 2011
On May 5, 2011, at 10:18 AM, Guido van Rossum wrote:

> On Thu, May 5, 2011 at 10:17 AM, Amaury Forgeot d'Arc
> <amauryfa at gmail.com> wrote:
>> 2011/5/5 Guido van Rossum <guido at python.org>:
>>> Seems you're in agreement with this. IMO when references are borrowed
>>> it is not very interesting. The interesting thing is when calling a
>>> function *steals* a reference. The other important thing to know is
>>> whether the caller ends up owning the return value (if it is an
>>> object) or not. I *think* you can tell the latter from the +1 for the
>>> return value; but the former (whether it steals a reference) is
>>> unclear from the data given. There's even an XXX comment about this in
>>> the file:
>>> 
>>> # XXX NOTE: the 0/+1/-1 refcount information for arguments is
>>> # confusing!  Much more useful would be to indicate whether the
>>> # function "steals" a reference to the argument or not.  Take for
>>> # example PyList_SetItem(list, i, item).  This lists as a 0 change for
>>> # both the list and the item arguments.  However, in fact it steals a
>>> # reference to the item argument!
>> 
>> Should we change this file then?
>> And only list functions that don't follow the usual conventions.
>> 
>> But I'm sure that there are external tools which already use refcounts.dat
>> in its present format.
> 
> Maybe we can *add* a column with the desired information?

+1


Raymond

More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4