bpo-35059: Convert PyObject_INIT() to function by vstinner · Pull Request #10077 · python/cpython
I expect same fix is required for third party extensions.
Right. Do you consider that it's an issue? It's just a compiler warning. IMHO it's a good thing that developers cast explicitly, no? A function (macro currently) which accepts any type is just weird.
If you prefer, I can rename the macro to _PyObject_INIT() and add:
#define PyObject_INIT(obj) _PyObject_INIT((PyObjcet *)(obj))
So the "function" accepts any type, as your void* suggestion.
@methane: what do you think?