
On 2/4/22 6:23 AM, Stefan Behnel wrote:
One recent example is the new error locations in tracebacks, where PEP 657 explicitly lists the new "co_positions" field in code objects as an implementation detail of CPython. If we want to implement this in Cython, then there is no other way than to copy these implementation details pretty verbatimly from CPython and to depend on them.
https://www.python.org/dev/peps/pep-0657/
In this specific case, we're lucky that this can be considered an entirely optional feature that we can separately disable when users request "public API" mode (let's call it that). Not sure if that's what users want, though.
Speaking as a user, I would want Cython to be (in order of preference):
- reliable - fast - all the cool Python features
and Python to:
- make public APIs available for Python features
-- ~Ethan~