BUG: Fix return type of NpyIter_GetIterNext in Cython declarations #28582
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport of #28453.
Description
This PR fixes a type mismatch in the Cython declarations for the
NpyIter_GetIterNext
function.The function was incorrectly declared to return
NpyIter_IterNextFunc*
(pointer to function type) when it should returnNpyIter_IterNextFunc
(function type directly). This mismatch causes compilation errors when users try to build Cython code that uses this function.Solution
Modified both
__init__.pxd
and__init__.cython-30.pxd
to remove the asterisk from the return type:From:
To:
Verification
The original issue demonstrates the problem with concrete compiler errors showing the incompatible pointer type assignment:
This error occurs because the function returns a function pointer directly, not a pointer to a function pointer. Removing the asterisk in the declaration fixes this type mismatch.
References
Fixes #28446