optimize conversion from bytes for Vec<u8> and [u8; N] #5244
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 is a (successful!) experiment to try and close off some of the remaining questions in #4390
In particular, this addresses the challenge of optimized bytes extraction and whether we can make it work while changing the trait.
Only the last commit 449bd26 is actually relevant here, the rest is just current snapshot of #4390.
This solves the problem encountered in #4390 (comment), namely by avoiding any additional trait bounds and instead requiring the type adding a slice conversion to handle fully the pathways both to array and to vec.
The nice thing about this design is that:
bytearray
extraction, and maybe even viaPyBuffer<T>
main
if we wanted without changingFromPyObject
, but that's more churn so I'd rather move forward with add second lifetime toFromPyObject
#4390. Hopefully we can unblock that in the near future.