W3cubDocs

/Rust

Trait collections::range::RangeArgument

pub trait RangeArgument<T: ?Sized> {
    fn start(&self) -> Bound<&T>;
    fn end(&self) -> Bound<&T>;
}
🔬 This is a nightly-only experimental API. (collections_range #30877)waiting for dust to settle on inclusive ranges

RangeArgument is implemented by Rust's built-in range types, produced by range syntax like .., a.., ..b or c..d.

Required Methods

🔬 This is a nightly-only experimental API. (collections_range #30877)waiting for dust to settle on inclusive ranges

Start index bound

Return start value as a Bound

Examples

#![feature(collections)]
#![feature(collections_range)]
#![feature(collections_bound)]

extern crate collections;

use collections::range::RangeArgument;
use collections::Bound::*;

assert_eq!((..10).start(), Unbounded);
assert_eq!((3..10).start(), Included(&3));

🔬 This is a nightly-only experimental API. (collections_range #30877)waiting for dust to settle on inclusive ranges

End index bound

Return end value as a Bound

Examples

#![feature(collections)]
#![feature(collections_range)]
#![feature(collections_bound)]

extern crate collections;

use collections::range::RangeArgument;
use collections::Bound::*;

assert_eq!((3..).end(), Unbounded);
assert_eq!((3..10).end(), Excluded(&10));

Implementors

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/collections/range/trait.RangeArgument.html