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.
Uninitialized memory that does not have to be read or referenced, otherwise it is UB, but it can be converted as pointer to use.
But this behavior is difficult to delimit, especially when the type itself does not provide a corresponding method.
The correct behavior is for example
Vec::as_mut_ptr()
:The conversion process is entirely pointer and does not involve any notion of reference.
ByteMut::uninit_slice
ByteMut::as_slice_mut
These methods rely too much on the internal implementation of the library, which is not a big problem if it is a standard library, but it is dangerous to use third-party libraries in this way, so this PR removes all use cases