IntoBounds in std::ops - Rust (original) (raw)

pub trait IntoBounds<T>: RangeBounds<T> {
    // Required method
    fn into_bounds(self) -> (Bound<T>, Bound<T>);
}

🔬This is a nightly-only experimental API. (range_into_bounds #136903)

Expand description

Used to convert a range into start and end bounds, consuming the range by value.

IntoBounds is implemented by Rust’s built-in range types, produced by range syntax like .., a.., ..b, ..=c, d..e, or f..=g.

Source

🔬This is a nightly-only experimental API. (range_into_bounds #136903)

Convert this range into the start and end bounds. Returns (start_bound, end_bound).

§Examples
#![feature(range_into_bounds)]

use std::ops::Bound::*;
use std::ops::IntoBounds;

assert_eq!((0..5).into_bounds(), (Included(0), Excluded(5)));
assert_eq!((..=7).into_bounds(), (Unbounded, Included(7)));

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Source§

Source§

Source§

Source§

Source§

Source§

Source§

Source§

Source§

Source§