pub fn from_box(slice: Box<[T], A>) -> Self {
        unsafe {
            let (slice, alloc) = Box::into_raw_with_allocator(slice);
            RawVec::from_raw_parts_in(slice.as_mut_ptr(), slice.len(), alloc)
        }
    }
Reconstitutes a `RawVec` from a pointer, capacity, and allocator.

# Safety

The `ptr` must be allocated (via the given allocator `alloc
benchmarks/haystacks/code/rust-library.rs