-
-
Notifications
You must be signed in to change notification settings - Fork 30.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bpo-41861: Clean up sqlite3 header files wrt. PEP 384 #22419
bpo-41861: Clean up sqlite3 header files wrt. PEP 384 #22419
Conversation
@corona10, would you mind doing a review of this? |
As per review comments.
- Fix incomplete type (PyMemberDef => struct PyMemberDef) - Include structmember.h bco. PyMemberDef
c935779
to
b98761c
Compare
Seems like the Travis CI is stuck… |
structmember.h is part of the limited C API. If it should not, I suggest to first exclude it from the limited C API, before changing _sqlite3 header files. |
If it was, it would be sufficient to include |
I'm not sure why some header files like frameobject.h are not included by Python.h. Not being included by Python.h doesn't mean excluded from the limited C API. Or maybe I misunderstood something. |
From PEP 384: "Applications shall only include the header file Python.h (before including any system headers), or, optionally, include pyconfig.h, and then Python.h." I was under the impression that the "stable C API" and the "limited C API" was the same thing, however, that might not be the case? |
I think that the "not part of the stable API" comment was a reference to bpo-2897. According to PEP 384, The current situation is such that PEP 384 is self-contradicting when it comes to header files and structures. However, I guess that PEP 384 compliance is not as strict for built-in modules as it is for third party modules? So, should bpo-2897 be resolved first before continuing with this PR? |
Guessing that this PR is on hold until this is sorted out, @vstinner. Perhaps the bpo can be closed without this. |
Ref. https://www.python.org/dev/peps/pep-0384/#header-files-and-preprocessor-definitions
Also ref. bpo-2897 (PyMemberDef not part of the stable API)https://bugs.python.org/issue41861