[issue29548] deprecate PyEval_Call*() functions.
STINNER Victor
report at bugs.python.org
Tue Feb 14 05:16:29 EST 2017
STINNER Victor added the comment:
> Please note that the two sets of APIs are not identical, e.g. you cannot simply replace PyEval_CallObject() with PyObject_Call(), since the former applies a few extra checks and defaults, which the latter doesn't.
IMHO these checks are too expensive at runtime for little benefit. If you pass non-tuple to PyObject_Call(), Python immediately crash. You are immediately noticied of the bug :-) I don't think that such bugs are common enough to justify the overhead.
Any idea of the popularity of the undocumented PyEval_xxx() functions? Are they used by Cython for example? By a single random extension module in the world?
I'm more in favor of modifying PyEval_xxx() to call PyObject_xxx() and deprecate them.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue29548>
_______________________________________
More information about the Python-bugs-list
mailing list