On 8 Nov 2013 22:03, "Thomas Heller" <thel...@ctypes.org> wrote: > > Am 08.11.2013 12:19, schrieb Victor Stinner: > >> 2013/11/8 Nick Coghlan <ncogh...@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...
Yeah, we can add things to the stable ABI with an appropriate version guard, but we won't remove even private APIs if they were previously published in 3.3. The main thing I get out of this is that we need to figure out a way to test it automatically - the nature of the problem means that code review is an inherently unreliable mechanism for spotting mistakes. Cheers, Nick. > > >>> 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 > > > > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > https://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: https://mail.python.org/mailman/options/python-dev/ncoghlan%40gmail.com
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com