pub unsafe fn from_raw_parts(ptr: *mut T, length: usize, capacity: usize) -> Self {
        unsafe { Self::from_raw_parts_in(ptr, length, capacity, Global) }
    }
Creates a `Vec<T, A>` directly from the raw components of another vector.

# Safety

This is highly unsafe, due to the number of invariants that aren't
checked:

* `ptr` needs to have been previously allocated via [`String`]/`Vec<T>`
(at least, it's highly likely to be incorrect if it wasn't).
* `T` needs to have the same size and alignment as what `ptr` was allocated with.
benchmarks/haystacks/code/rust-library.rs