fn deref_mut(&mut self) -> &mut [T] {
        unsafe { slice::from_raw_parts_mut(self.as_mut_ptr(), self.len) }
    }
Creates a consuming iterator, that is, one that moves each value out of
the vector (from
benchmarks/haystacks/code/rust-library.rs