Guido van Rossum schrieb am 07.09.21 um 00:44:
In addition, I just heard from the SC that they've approved the exception.
So we will remove these two APIs from 3.11 without deprecation.
Erm, hang on – when I wrote that I'm fine with *changing* them, I wasn't thinking of actually *removing* them. At least not both. PyCode_NewEmpty() isn't a good replacement since it takes low level arguments … char* instead of Python strings. It's good for the simple use case that it was written for (and Cython already uses it for that), but not so great for anything beyond that.

What I could try is to create only a single dummy code object and then always call .replace() on it to create new ones. But that seems hackish and requires managing yet another bit of global state across static and generated code parts.

I could also switch to _PyCode_New(), though it's not exactly what I would call an attractive option, both for usability reasons and its future API stability. (Cython also still generates C89 code, i.e. no partial struct initialisations.)

Any suggestions?

Stefan

_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/B6WFHGVAASF4MFUMPIHBZEUCPXVANU7D/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to