FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Convert get/set/size to PEP-384 style by jcpunk · Pull Request #324 · boostorg/python · GitHub

Convert get/set/size to PEP-384 style - #324

Open
jcpunk wants to merge 1 commit into
boostorg:developfrom
jcpunk:pep-384
Open

Convert get/set/size to PEP-384 style#324
jcpunk wants to merge 1 commit into
boostorg:developfrom
jcpunk:pep-384

Conversation

jcpunk commented Oct 16, 2020
edited
Loading

Copy link
Copy Markdown
Contributor

Ultimately, for PEP-384 (CPython 3.2+) someone who understands the output needs to run abitype.py[1] against src/object/enum.cpp and src/object/class.cpp. The slot/spec layouts[2] generated by that code are pretty close to right, but need someone more fluent in this than I....

This PR gets the other helpers in place for staying to the stricter ABI.

[1]
https://github.com/python/cpython/blob/master/Tools/scripts/abitype.py

[2]
https://pythoncapi.readthedocs.io/type_object.html#pytype-fromspec

Copy link
Copy Markdown

@jcpunk, do you have reason to suspect the output of abitype.py on those files is wrong?

jcpunk commented Oct 22, 2020
edited
Loading

Copy link
Copy Markdown
Contributor Author

I'm really unsure what the changes from abitype.py mean for the overall usage and behaviour of the library. To be honest, I'm not much of a C++ programmer and can't meaningfully assess that output. All I know is it doesn't compile without help. I honestly don't understand that section of the code in any real way.

Copy link
Copy Markdown
Member

I'm not entirely sure I understand the purpose of this PR. As far as I can see, all it does is to replace non-checking functions by their checking counter parts, thereby making the code overall slower. (Example: PyTuple_GET_SIZE is replaced by PyTuple_Size, PyTuple_GET_ITEM is replaced by PyTuple_GetItem, etc.)
Am I missing something ?

jcpunk commented Jan 7, 2021

Copy link
Copy Markdown
Contributor Author

As I understand it, this PR (switching to the checking versions) is a pre-req for the PEP-384 abitype.py conversion to the stable C API.

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants


Back | FazBrowse Home | New Git URL