Support compare functions with SortSlices and SortMaps#367
Merged
Conversation
010dae0 to
60b30aa
Compare
The SortSlices and SortMaps options predate generics and
accept an interface{}, so it is possible with reflection
to support other function signatures than "func(T, T) bool".
In particular, the Go ecosystem is increasingly moving towards
"func(T, T) int" as the signature for ordering as evidenced
by the newer slices.SortFunc function in stdlib.
Thus, modernize cmpopts by supporting "func(T, T) int".
Also, bump the minimum version to Go 1.21 to match
the minimum supported version of google.golang.org/protobuf.
Fixes #365
60b30aa to
d53b1ba
Compare
dsnet
commented
Oct 23, 2024
| @@ -1,3 +1,3 @@ | |||
| module github.com/google/go-cmp | |||
|
|
|||
| go 1.13 | |||
Collaborator
Author
There was a problem hiding this comment.
Wow. From 4 years ago!
neild
approved these changes
Oct 23, 2024
Collaborator
Author
|
CI are hosed and I don't have permissions to fix them, so you may need to merge on my behalf. |
Collaborator
Author
|
Thanks! |
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The SortSlices and SortMaps options predate generics and
accept an interface{}, so it is possible with reflection to support other function signatures than "func(T, T) bool".
In particular, the Go ecosystem is increasingly moving towards "func(T, T) int" as the signature for ordering as evidenced by the newer slices.SortFunc function in stdlib.
Thus, modernize cmpopts by supporting "func(T, T) int".
Fixes #365