# `copy_range`
This crate provides three structs: `CopyRange`, `CopyRangeFrom`, and
`CopyRangeInclusive`.
They are similar to `core::ops`'s `Range`, `RangeFrom`, and
`RangeInclusive`, respectively, except they implement `Copy` if their
element type implements `Copy`, and they implement `IntoIterator` instead of
`Iterator`.
They are freely convertible to and from their `core::ops` counterparts (with
a note about `RangeInclusive`), and they
implement most of the same (non-iterator-related) traits, notably
`RangeBounds`.
Ranges of `usize` are additionally usable as the `Index` parameter for
arrays, slices, string slices and
(with the `"alloc"` feature enabled) `Vec` and
`String`.