🔬This is a nightly-only experimental API. (
new_range_api #125687)Expand description
§Experimental replacement range types
The types within this module are meant to replace the existing
Range, RangeInclusive, and RangeFrom types in a future edition.
#![feature(new_range_api)]
use core::range::{Range, RangeFrom, RangeInclusive};
let arr = [0, 1, 2, 3, 4];
assert_eq!(arr[                      ..   ], [0, 1, 2, 3, 4]);
assert_eq!(arr[                      .. 3 ], [0, 1, 2      ]);
assert_eq!(arr[                      ..=3 ], [0, 1, 2, 3   ]);
assert_eq!(arr[     RangeFrom::from(1..  )], [   1, 2, 3, 4]);
assert_eq!(arr[         Range::from(1..3 )], [   1, 2      ]);
assert_eq!(arr[RangeInclusive::from(1..=3)], [   1, 2, 3   ]);Modules§
- legacyExperimental 
- Legacy range types
Structs§
- IterRange Experimental 
- By-value Rangeiterator.
- IterRange From Experimental 
- By-value RangeFromiterator.
- IterRange Inclusive Experimental 
- By-value RangeInclusiveiterator.
- RangeExperimental 
- A (half-open) range bounded inclusively below and exclusively above
(start..endin a future edition).
- RangeFrom Experimental 
- A range only bounded inclusively below (start..).
- RangeFull Experimental 
- An unbounded range (..).
- RangeInclusive Experimental 
- A range bounded inclusively below and above (start..=end).
- RangeToExperimental 
- A range only bounded exclusively above (..end).
- RangeToInclusive Experimental 
- A range only bounded inclusively above (..=end).
Enums§
- BoundExperimental 
- An endpoint of a range of keys.
Traits§
- IntoBounds Experimental 
- Used to convert a range into start and end bounds, consuming the range by value.
- OneSidedRange Experimental 
- OneSidedRangeis implemented for built-in range types that are unbounded on one side. For example,- a..,- ..band- ..=cimplement- OneSidedRange, but- ..,- d..e, and- f..=gdo not.
- RangeBounds Experimental 
- RangeBoundsis implemented by Rust’s built-in range types, produced by range syntax like- ..,- a..,- ..b,- ..=c,- d..e, or- f..=g.
- StepExperimental 
- Objects that have a notion of successor and predecessor operations.