fn clone(&self) -> Self {
        let alloc = self.allocator().clone();
        <[T]>::to_vec_in(&**self, alloc)
    }
Creates a consuming iterator, that is, one that moves each value out of
the vector (from start to end). The vector cannot be used after calling
this.

# Examples

```
let v = vec!["a".to_string(), "b".to_string()];
for s in v.into_iter() {
// s has type String, not &String
benchmarks/haystacks/code/rust-library.rs