-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: drop use of behavior
in recursively_apply
#2805
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When string-broadcasting was hard-coded, no longer derived from a behavior
, we no longer needed to pass behaviors into broadcast_and_apply
, and I suppose it was being passed into recursively_apply
for symmetry.
If the tests pass after simply removing it like this, then I suppose nothing was using it. I would have expected it to be passed to the action
function, but apparently it's not.
Actually, why are these changes only in ak.operations.str.*
? We use recursively_apply
in a lot of places, not just here. Why don't they all have behavior=behavior
push-downs to remove? Was this never really a part of the recursively_apply
interface and their use in string functions was a mistake?
Anyway, I'm in favor of removing behavior
from recursively_apply
. It doesn't even mean we can't use it in recursively_apply
's action
functions, since the action
function can be defined in such a way as to close over that variable. So, please do make the end-state of this to be such that behavior
is removed from the recursively_apply
interface, whether that involves changes beyond ak.operations.str.*
or not.
Codecov Report
Additional details and impacted files
|
I was originally going to just start with |
0ba4f3f
to
ff3ef68
Compare
This prepares the way to drop this argument in
recursively_apply