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 returns the entire buffer as a
&mut [MaybeUninit<u8>]
, which maybe useful for building abstractions on top.
Motivation
It looks like
ReadBuf
doesn't have a way to get the entire buffer, only various sections of it. Being able to work with the entire buffer is useful in some situations, such as while building testing tools that limit the size of the buffer (similar toBufMut::limit
in tokio 0.2).Solution
Add
ReadBuf::inner_mut
which returns the entire inner buffer.This is unsafe for the same reason that
unfilled_mut
is: the caller must not deinitialize portions of the buffer that have already been initialized.I've used this method in
partial-io
: facebookarchive/rust-partial-io#33 (comment) and it looks like it does the job.I'm not sure if any tests for this make sense, given the fact that the implementation is one line long.
Thank you!