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.
We had an issue in our codebase where we would see a mysterious
ArgumentError - wrong number of arguments (given 2, expected 3)
that was being traced to this line:We finally realized that this is down to a class in our codebase that defines its own
self.send
method (that does something unrelated, hence the mismatch in arity).Now I'm completely aware that this is bad practice and we're going to fix the offending class, but it's also true that the resulting error message is very confusing and it's not immediately clear how to fix it.
If zeitwerk was to use
__send__
instead ofsend
it would avoid this issue. I'm not sure if there are any downsides to this, or if this should be merged at all -- consider this pull request an invitation for a discussion.