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...

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/archive%40mail-archive.com

Reply via email to