Expand description
§any-range
AnyRange<T>
enum can hold any Range*<T>
type.
§Use Cases
- Store any kind of range in a struct without adding a type parameter
§Features
no_std
, depends only oncore
forbid(unsafe_code)
- 100% test coverage
§Limitations
- Uses more bytes than a plain
Range<T>
. The alignment ofT
determines how many extra bytes the enum uses.
§Alternatives
anyrange
- Should be called
ToRange
- Doesn’t support
RangeInclusive
orRangeToInclusive
- Unmaintained
- Should be called
§Example
use any_range::AnyRange;
let r = AnyRange::from(3..5);
assert!(r.contains(&3));
assert_eq!("de", &"abcdefg"[r.bounds()]);
§Cargo Geiger Safety Report
§Changelog
- v0.1.4 - Add
bounds
method for slicing - v0.1.3 - Implement
Hash
,PartialOrd
,Ord
- v0.1.2 - Increase test coverage
- v0.1.1 - Update docs
- v0.1.0 - Initial version
Enums§
- An enum that can hold any Range* type.