BUG: Fix return type of NpyIter_GetIterNext in Cython declarations#28582
Merged
charris merged 2 commits intonumpy:maintenance/2.2.xfrom Mar 24, 2025
Merged
BUG: Fix return type of NpyIter_GetIterNext in Cython declarations#28582charris merged 2 commits intonumpy:maintenance/2.2.xfrom
charris merged 2 commits intonumpy:maintenance/2.2.xfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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_GetIterNextfunction.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__.pxdand__init__.cython-30.pxdto 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