-
Notifications
You must be signed in to change notification settings - Fork 20
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
Support extracting underlying filled buffer from BorrowedBuf #473
Labels
ACP-accepted
API Change Proposal is accepted (seconded with no objections)
api-change-proposal
A proposal to add or alter unstable APIs in the standard libraries
T-libs-api
Comments
SUPERCILEX
added
api-change-proposal
A proposal to add or alter unstable APIs in the standard libraries
T-libs-api
labels
Nov 2, 2024
This was referenced Nov 2, 2024
We discussed this in the libs-api meeting and we're happy with these methods. |
Amanieu
added
the
ACP-accepted
API Change Proposal is accepted (seconded with no objections)
label
Nov 5, 2024
Quick correction: |
Looks like rust-lang/rust#132533 is correct and this was just a typo in the ACP. |
Oops, yeah sorry. Fixed. |
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Nov 25, 2024
Add BorrowedBuf::into_filled{,_mut} methods to allow returning buffer with original lifetime See rust-lang/libs-team#473 and tracking issue rust-lang#117693.
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Nov 25, 2024
Rollup merge of rust-lang#132533 - SUPERCILEX:patch-4, r=Mark-Simulacrum Add BorrowedBuf::into_filled{,_mut} methods to allow returning buffer with original lifetime See rust-lang/libs-team#473 and tracking issue rust-lang#117693.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
ACP-accepted
API Change Proposal is accepted (seconded with no objections)
api-change-proposal
A proposal to add or alter unstable APIs in the standard libraries
T-libs-api
Proposal
Problem statement
I'd like to be able to modify a MaybeUninit buffer and return the contents to the caller.
Motivating examples or use cases
Currently, if a function wishes to safely modified a MaybeUninit buffer passed in by reference by the caller, they cannot return the filled buffer to the caller.
Fixing this would let the following code compile:
Solution sketch
Add two methods:
Alternatives
Transmute to get lifetime extension or manually convert the MaybeUninits to u8s by using the filled length. Both of these solutions are very error prone and annoying to write.
The text was updated successfully, but these errors were encountered: