This repository has been archived by the owner on Feb 5, 2021. It is now read-only.
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 reverts commit 901690b.
The Buffer type was a neat idea, but it has a few drawbacks I didn't notice initially which I think present significant complications.
The main one is that it relies on its contents being
T: AsRef<[u8]> + AsMut<[u8]>
Unfortunately until const generics land, these traits are only defined for up to 32-byte arrays! This makes the in-place API unusable for fixed-size arrays larger than 32-bytes.
We can revisit this when const generics land.
The other problem is it requires an owned type for any data passed to it, which may not always be the case. This seems like a larger dealbreaker.
The slice-based API is ugly but certainly the most flexible.