pub fn to_vec<T: ConvertVec, A: Allocator>(s: &[T], alloc: A) -> Vec<T, A> {
        T::to_vec(s, alloc)
    }
Sorts the slice.

This sort is stable (i.e., does not reorder equal elements) and *O*(*n* \* log(*n*)) worst-case.

When applicable, unstable sorting is preferred because it is generally faster than stable
sorting and it doesn't allocate auxiliary memory.
See [`sort_unstable`](slice::sort_unstable).

# Current implementation

The current algorithm is an adaptive, iterative merge sort inspired by
[timsort](https://en.wikipedia.org/wiki/Timsort).
It is designed to
benchmarks/haystacks/code/rust-library.rs