`copy_from_slice` copies elements from a source slice into an equally sized mutable destination slice. Elements must implement `Copy`. Use it when the destination already exists and you want a fast copy of a contiguous region. section 4.2 section 11.2.3
Copy into an initialized destination
```rust let source = vec![1, 2, 3]; let mut target = vec![0; source.len()]; target.copy_from_slice(&source); assert_eq!(target, source); ``` Size the destination to match the source; reserving capacity alone does not give it elements to copy into. section 11.2.3
The standard-library implementation checks the lengths, then calls `ptr::copy_nonoverlapping`, a wrapper around `memcpy`. Exclusive mutable access prevents the slices from overlapping. A release-mode comparison reported roughly 0.025 seconds for pushing 10 million items versus 0.0036 seconds for `copy_from_slice`; that comparison also uses differently prepared destinations, so measure your own workload. section 4.2 section 11.2.3
