[Python-Dev] [Python-checkins] cpython: Issue #19512: Add a new _PyDict_DelItemId() function, similar to

Thomas Heller theller at ctypes.org
Fri Nov 8 13:03:55 CET 2013


Am 08.11.2013 12:19, schrieb Victor Stinner:
> 2013/11/8 Nick Coghlan <ncoghlan at gmail.com>:
>>> In Python 3.3, _PyDict_GetItemIdWithError(), _PyDict_GetItemId() and
>>> _PyDict_SetItemId() are part of the stable ABI if I read correctly
>>> dictobject.h. _PyObject_GetAttrId() is also part of the stable ABI.
>>> Was it a mistake, or did I misunderstand how stable functions are
>>> declared?
>>
>> Likely a mistake - the stable ABI is hard to review properly (since it can
>> depend on non local preprocessor checks, so a mistake may not be obvious in
>> a diff), we don't currently have a systematic approach to handling changes
>> and there's no automated test to catch inadvertent additions or (worse)
>> removals :(
>
> Would it be possible to remove them from the stable ABI in Python 3.4?
> They are marked as private using the "_Py" prefix...

I may be confusing API and ABI (see my other message), but adding to
or removing functions from the stable ABI seems to be a very serious
mistake, IMO - private or not.  Unless my understanding of the word
'stable' is wrong...

>> This may be a good thing for us to look at more generally when things settle
>> down a bit after the beta 1 feature freeze.
>
> I created the following issue to not forget it:
> http://bugs.python.org/issue19526

Thomas




More information about the Python-Dev mailing list