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.
This PR introduces a new
Merge
trait that simplifies the usage of the library in some way. It is now possible to return any type that implementsAsRef<[u8]>
reducing the amount of allocation required to return a merged value (i.e. returning anu32::to_be_bytes()
).Unfortunately, I wasn't able to implement this trait on the
Fn(&[u8], values)
trait, making it impossible to use a simple function as the merge function.Another downside of this trait is the impossibility to return a value that comes from the provided values to merge, that can be a performance issue for merge functions like
keep_first/last
.