pub fn join<Separator>(&self, sep: Separator) -> <Self as Join<Separator>>::Output
    where
        Self: Join<Separator>,
    {
        Join::join(self, sep)
    }
/////////////////////////////////////////////////////////////////////////////
Helper trait for [`[T]::concat`](slice::concat).

Note: the `Item` type parameter is not used in this trait,
but it allows impls to be more generic.
Without it, we get this error:

```error
error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predica
--> src/liballoc/slice.rs:608:6
|
608 | impl<T: Clone, V: Borrow<[T]>> Concat for [V] {
|      ^ unconstrained type parameter
``
benchmarks/haystacks/code/rust-library.rs