[Python-Dev] [Python-checkins] cpython: Issue #19512: Add a new _PyDict_DelItemId() function, similar to (original) (raw)
Nick Coghlan ncoghlan at gmail.com
Fri Nov 8 13:55:17 CET 2013
- Previous message: [Python-Dev] [Python-checkins] cpython: Issue #19512: Add a new _PyDict_DelItemId() function, similar to
- Next message: [Python-Dev] [Python-checkins] cpython: Issue #19512: Add a new _PyDict_DelItemId() function, similar to
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 8 Nov 2013 22:03, "Thomas Heller" <theller at ctypes.org> wrote:
Am 08.11.2013 12:19, schrieb Victor Stinner:
2013/11/8 Nick Coghlan <ncoghlan at gmail.com>:
In Python 3.3, PyDictGetItemIdWithError(), PyDictGetItemId() and PyDictSetItemId() are part of the stable ABI if I read correctly dictobject.h. PyObjectGetAttrId() 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 at python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/ncoghlan%40gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20131108/c71f1b13/attachment.html>
- Previous message: [Python-Dev] [Python-checkins] cpython: Issue #19512: Add a new _PyDict_DelItemId() function, similar to
- Next message: [Python-Dev] [Python-checkins] cpython: Issue #19512: Add a new _PyDict_DelItemId() function, similar to
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]