scoder
scoder
>So do you believe this is only related to the wrong return types of the pyfuse3 macros? No, I only saw the wrong definitions and considered them a clear source...
Can we close this ticket or is there anything that we can realistically do? It's still unclear whether this is an issue in Cython at all.
Could probably be added as two new special methods that get called by `tp_traverse` and `tp_clear`, so I'll leave this open as a feature request. You can already do this...
The example looks good. > `IF CYTHON_HEX_VERSION>=0x001D01F0` isn't possible Ah, yes, that makes sense. There aren't many real use cases for translation time environment tests, but this one is reasonable...
> And I've made an observation that for `PyObject*` fields Cython also does not automatically generate `tp_traverse` and `tp_clear` methods That is intended. `PyObject*` is not a reference, it's a...
Retest on 3.13.
https://github.com/cython/cython/pull/6355 is also related. We used to write different include file paths into the C files when using the "common include dir" feature on Windows vs. Posix systems.
I think we originally used borrowed refs in `values[]` and did all increfs afterwards when assigning to the function argument variables. That invariant must have been lost when we added...
I agree that we should rather do https://github.com/cython/cython/issues/1981 than tracking arbitrary (runtime) imports across modules, including modules that are not even compiled, that might not be available at build time,...
The Python version used to generate the C code is irrelevant. What matters is the Python version that the extension module is compiled for.