BUG: fixes for StringDType/unicode promoters #27673
Merged
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 #27636.
Fixes #27493. Fixes #27637.
There are a number of missing cases for mixed unicode/string operations that this adds promoters for. Also adds tests for these cases.
Additionally replaces uses of
Py_None
as an abstract promoter target withPyArray_IntAbstractDType
, which makes the promoters fire less offten in unintended cases and is closer to the intention in the code.Also fixes issues with the python wrappers for the string ufuncs incorrectly selecting the fixed-width string branches for some signatures by relying on
np.result_type
to check forStringDType
inputs.