[Python-Dev] PyIndex_Check conflicts with PEP 384 (original) (raw)
Christian Tismer tismer at stackless.com
Fri Jun 1 09:10:30 EDT 2018
- Previous message (by thread): [Python-Dev] Withdraw PEP 546? Backport ssl.MemoryBIO and ssl.SSLObject to Python 2.7
- Next message (by thread): [Python-Dev] PyIndex_Check conflicts with PEP 384
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi friends,
when implementing the limited API for PySide2, I recognized a little bug where a function was replaced by a macro.
The file number.rst on python 3.6 says
""" .. c:function:: int PyIndex_Check(PyObject *o)
Returns 1
if o is an index integer (has the nb_index slot of the
tp_as_number structure filled in), and 0
otherwise.
"""
Without notice, this function was replaced by a macro a while ago, which reads
#define PyIndex_Check(obj)
((obj)->ob_type->tp_as_number != NULL &&
(obj)->ob_type->tp_as_number->nb_index != NULL)
This contradicts PEP 384, because there is no way for non-heaptype types to access the nb_index field.
If nobody objects, I would like to submit a patch that adds the function back when the limited API is active. I think to fix that before Python 3.7 is out.
Ciao -- Chris
-- Christian Tismer-Sperling :^) tismer at stackless.com Software Consulting : http://www.stackless.com/ Karl-Liebknecht-Str. 121 : http://pyside.org 14482 Potsdam : GPG key -> 0xFB7BEE0E phone +49 173 24 18 776 fax +49 (30) 700143-0023
-------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 522 bytes Desc: OpenPGP digital signature URL: <http://mail.python.org/pipermail/python-dev/attachments/20180601/3cc19c04/attachment.sig>
- Previous message (by thread): [Python-Dev] Withdraw PEP 546? Backport ssl.MemoryBIO and ssl.SSLObject to Python 2.7
- Next message (by thread): [Python-Dev] PyIndex_Check conflicts with PEP 384
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]