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.
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
[Feature] Add support for custom equality testers #13654
[Feature] Add support for custom equality testers #13654
Changes from 15 commits
63d7186
8f1daca
45243cd
cb73a20
ce6aca4
b5684ce
2fa1336
e414bcc
944934f
8a8bc17
1ee862f
3961c37
7bdcded
144f351
1c9b629
9998279
9fcf9b5
a791dcb
32d0e38
05eca9f
b72796b
c9dc27c
d22295b
8591181
e88fff2
bed9a1e
15e509c
96de10d
dea4949
90afadb
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
why the check? deserver's a code comment i think
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.
is it to prevent infinite recursion in case somebody would manage to add the build-in iterableEquality (somehow imported it directly) into the customTesters array in configuration?
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.
Yup - except here all testers are passed in the full array of custom testers, including themselves. So currently it is guaranteed you'll be called with yourself in the custom testers array.
I could also do the filtering in the custom testers loop in
equals
so a tester is never called for itself, but I wasn't sure that was worth since not every tester would need this since not every tester is recursive, but maybe it would make the API easier to work with.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.
Ye, not sure about the additional filtering...