On Wed, Sep 8, 2021 at 2:10 PM Marc-Andre Lemburg email@example.com wrote:
I believe that such breaking changes need to follow the standard PEP 387 procedure.
While your pythoncapi_compat project is nice, I don't think C extension writers will appreciate breaking changes in new releases without the two minor release announcement and warning phase.
This is especially important with the new shorter release cycle.
Emitting compiler warnings was discussed multiple times, but so far, nobody manages to write a macro which only emits a warning if it's used as an l-value "Py_TYPE(...) = ...".
Py_REFCNT() macro was already converted to a static inline function in Python 3.10. This change went fine. It only broke like 1 or 2 projects.
By the way, pip hides all compiler output and most developers ignore compiler warnings.
Night gathers, and now my watch begins. It shall not end until my death.