fix: don't try to re-wrap array_function
overload results
#2079
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.
Our integration with NumPy's array function mechanism means that users can in some cases invoke NumPy-only functions on Awkward Arrays (if they're rectilinear). However, our existing support for this mechanism is breaking Awkward overloads such as
ak.broadcast_arrays
, because it assumes that the result should be a layout.In the long run, we could apply an inverse
_to_rectilinear
transform to recover high-levelak.Array
/ak.Record
s, but in this instance, I think the solution is even more clear cut.If Awkward has an overload for an array function, then it should already be returning high-level objects. Therefore, we don't need to re-wrap the result. This PR applies such a fix, which means that any NumPy-only overloads that return non-arrays will still need a fix. However, this is a simple first step.
Fixes #2078