pub struct Range<Idx> {
pub start: Idx,
pub end: Idx,
}
new_range_api #125687)
A (half-open) range bounded inclusively below and exclusively above (start..end).
The range start..end contains all values with start <= x < end. It is empty if start >= end.
The start..end syntax is a Range:
assert_eq!((3..5), std::ops::Range { start: 3, end: 5 });
assert_eq!(3 + 4 + 5, (3..6).sum());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[1.. ], [ 1, 2, 3, 4]); assert_eq!(arr[1.. 3], [ 1, 2 ]); // This is a `Range` assert_eq!(arr[1..=3], [ 1, 2, 3 ]);
start: Idxnew_range_api #125687)
The lower bound of the range (inclusive).
end: Idxnew_range_api #125687)
The upper bound of the range (exclusive).
impl<Idx> Range<Idx>where
Idx: PartialOrd,pub fn contains<U>(&self, item: &U) -> boolwhere
Idx: PartialOrd<U>,
U: PartialOrd<Idx> + ?Sized,Returns true if item is contained in the range.
assert!(!(3..5).contains(&2)); assert!( (3..5).contains(&3)); assert!( (3..5).contains(&4)); assert!(!(3..5).contains(&5)); assert!(!(3..3).contains(&3)); assert!(!(3..2).contains(&3)); assert!( (0.0..1.0).contains(&0.5)); assert!(!(0.0..1.0).contains(&f32::NAN)); assert!(!(0.0..f32::NAN).contains(&0.5)); assert!(!(f32::NAN..1.0).contains(&0.5));
pub fn is_empty(&self) -> boolwhere
Idx: PartialOrd,Returns true if the range contains no items.
assert!(!(3..5).is_empty()); assert!( (3..3).is_empty()); assert!( (3..2).is_empty());
The range is empty if either side is incomparable:
assert!(!(3.0..5.0).is_empty()); assert!( (3.0..f32::NAN).is_empty()); assert!( (f32::NAN..5.0).is_empty());
impl<Idx> Clone for Range<Idx>where
Idx: Clone,fn clone(&self) -> Range<Idx> ⓘ
fn clone_from(&mut self, source: &Self)
source. Read more
impl<Idx> Debug for Range<Idx>where
Idx: Debug,fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>
impl<Idx> Default for Range<Idx>where
Idx: Default,impl<A> DoubleEndedIterator for Range<A>where
A: Step,fn next_back(&mut self) -> Option<A>
fn nth_back(&mut self, n: usize) -> Option<A>
nth element from the end of the iterator. Read more
fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
iter_advance_by #77404)
n elements. Read more
fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere
Self: Sized,
F: FnMut(B, Self::Item) -> R,
R: Try<Output = B>,Iterator::try_fold(): it takes elements starting from the back of the iterator. Read more
fn rfold<B, F>(self, init: B, f: F) -> Bwhere
Self: Sized,
F: FnMut(B, Self::Item) -> B,fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where
Self: Sized,
P: FnMut(&Self::Item) -> bool,impl ExactSizeIterator for Range<i16>
fn len(&self) -> usize
fn is_empty(&self) -> bool
exact_size_is_empty #35428)
true if the iterator is empty. Read more
impl ExactSizeIterator for Range<i32>
fn len(&self) -> usize
fn is_empty(&self) -> bool
exact_size_is_empty #35428)
true if the iterator is empty. Read more
impl ExactSizeIterator for Range<i8>
fn len(&self) -> usize
fn is_empty(&self) -> bool
exact_size_is_empty #35428)
true if the iterator is empty. Read more
impl ExactSizeIterator for Range<isize>
fn len(&self) -> usize
fn is_empty(&self) -> bool
exact_size_is_empty #35428)
true if the iterator is empty. Read more
impl ExactSizeIterator for Range<u16>
fn len(&self) -> usize
fn is_empty(&self) -> bool
exact_size_is_empty #35428)
true if the iterator is empty. Read more
impl ExactSizeIterator for Range<u32>
fn len(&self) -> usize
fn is_empty(&self) -> bool
exact_size_is_empty #35428)
true if the iterator is empty. Read more
impl ExactSizeIterator for Range<u8>
fn len(&self) -> usize
fn is_empty(&self) -> bool
exact_size_is_empty #35428)
true if the iterator is empty. Read more
impl ExactSizeIterator for Range<usize>
fn len(&self) -> usize
fn is_empty(&self) -> bool
exact_size_is_empty #35428)
true if the iterator is empty. Read more
impl<T> From<Range<T>> for Range<T>
fn from(value: Range<T>) -> Range<T> ⓘ
impl<T> From<Range<T>> for Range<T>
fn from(value: Range<T>) -> Range<T>
impl GetDisjointMutIndex for Range<usize>
fn is_in_bounds(&self, len: usize) -> bool
get_disjoint_mut_helpers)
true if self is in bounds for len slice elements.fn is_overlapping(&self, other: &Range<usize>) -> bool
get_disjoint_mut_helpers)
impl<Idx> Hash for Range<Idx>where
Idx: Hash,fn hash<__H>(&self, state: &mut __H)where
__H: Hasher,fn hash_slice<H>(data: &[Self], state: &mut H)where
H: Hasher,
Self: Sized,impl Index<Range<usize>> for ByteString
type Output = ByteStr
fn index(&self, r: Range<usize>) -> &ByteStr
container[index]) operation. Read more
impl IndexMut<Range<usize>> for ByteString
fn index_mut(&mut self, r: Range<usize>) -> &mut ByteStr
container[index]) operation. Read more
impl<T> IntoBounds<T> for Range<T>
fn into_bounds(self) -> (Bound<T>, Bound<T>)
range_into_bounds #136903)
(start_bound, end_bound). Read more
fn intersect<R>(self, other: R) -> (Bound<T>, Bound<T>)where
Self: Sized,
T: Ord,
R: IntoBounds<T>,range_into_bounds #136903)
impl<A> Iterator for Range<A>where
A: Step,type Item = A
fn next(&mut self) -> Option<A>
fn size_hint(&self) -> (usize, Option<usize>)
fn count(self) -> usize
fn nth(&mut self, n: usize) -> Option<A>
nth element of the iterator. Read more
fn last(self) -> Option<A>
fn min(self) -> Option<A>where
A: Ord,fn max(self) -> Option<A>where
A: Ord,fn is_sorted(self) -> bool
fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
iter_advance_by #77404)
n elements. Read more
fn next_chunk<const N: usize>(
&mut self,
) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where
Self: Sized,iter_next_chunk #98326)
N values. Read more
fn step_by(self, step: usize) -> StepBy<Self> ⓘwhere
Self: Sized,fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter> ⓘwhere
Self: Sized,
U: IntoIterator<Item = Self::Item>,fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter> ⓘwhere
Self: Sized,
U: IntoIterator,fn intersperse(self, separator: Self::Item) -> Intersperse<Self> ⓘwhere
Self: Sized,
Self::Item: Clone,iter_intersperse #79524)
separator between adjacent items of the original iterator. Read more
fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G> ⓘwhere
Self: Sized,
G: FnMut() -> Self::Item,iter_intersperse #79524)
separator between adjacent items of the original iterator. Read more
fn map<B, F>(self, f: F) -> Map<Self, F> ⓘwhere
Self: Sized,
F: FnMut(Self::Item) -> B,fn for_each<F>(self, f: F)where
Self: Sized,
F: FnMut(Self::Item),fn filter<P>(self, predicate: P) -> Filter<Self, P> ⓘwhere
Self: Sized,
P: FnMut(&Self::Item) -> bool,fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F> ⓘwhere
Self: Sized,
F: FnMut(Self::Item) -> Option<B>,fn enumerate(self) -> Enumerate<Self> ⓘwhere
Self: Sized,fn peekable(self) -> Peekable<Self> ⓘwhere
Self: Sized,peek and peek_mut methods to look at the next element of the iterator without consuming it. See their documentation for more information. Read more
fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P> ⓘwhere
Self: Sized,
P: FnMut(&Self::Item) -> bool,fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P> ⓘwhere
Self: Sized,
P: FnMut(&Self::Item) -> bool,fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P> ⓘwhere
Self: Sized,
P: FnMut(Self::Item) -> Option<B>,fn skip(self, n: usize) -> Skip<Self> ⓘwhere
Self: Sized,n elements. Read more
fn take(self, n: usize) -> Take<Self> ⓘwhere
Self: Sized,n elements, or fewer if the underlying iterator ends sooner. Read more
fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F> ⓘwhere
Self: Sized,
F: FnMut(&mut St, Self::Item) -> Option<B>,fold, holds internal state, but unlike fold, produces a new iterator. Read more
fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F> ⓘwhere
Self: Sized,
U: IntoIterator,
F: FnMut(Self::Item) -> U,fn flatten(self) -> Flatten<Self> ⓘwhere
Self: Sized,
Self::Item: IntoIterator,fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N> ⓘwhere
Self: Sized,
F: FnMut(&[Self::Item; N]) -> R,iter_map_windows #87155)
f for each contiguous window of size N over self and returns an iterator over the outputs of f. Like slice::windows(), the windows during mapping overlap as well. Read more
fn fuse(self) -> Fuse<Self> ⓘwhere
Self: Sized,fn inspect<F>(self, f: F) -> Inspect<Self, F> ⓘwhere
Self: Sized,
F: FnMut(&Self::Item),fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,Iterator. Read more
fn collect<B>(self) -> Bwhere
B: FromIterator<Self::Item>,
Self: Sized,fn try_collect<B>(
&mut self,
) -> <<Self::Item as Try>::Residual as Residual<B>>::TryTypewhere
Self: Sized,
Self::Item: Try,
<Self::Item as Try>::Residual: Residual<B>,
B: FromIterator<<Self::Item as Try>::Output>,iterator_try_collect #94047)
fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere
E: Extend<Self::Item>,
Self: Sized,iter_collect_into #94780)
fn partition<B, F>(self, f: F) -> (B, B)where
Self: Sized,
B: Default + Extend<Self::Item>,
F: FnMut(&Self::Item) -> bool,fn partition_in_place<'a, T, P>(self, predicate: P) -> usizewhere
T: 'a,
Self: Sized + DoubleEndedIterator<Item = &'a mut T>,
P: FnMut(&T) -> bool,iter_partition_in_place #62543)
true precede all those that return false. Returns the number of true elements found. Read more
fn is_partitioned<P>(self, predicate: P) -> boolwhere
Self: Sized,
P: FnMut(Self::Item) -> bool,iter_is_partitioned #62544)
true precede all those that return false. Read more
fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere
Self: Sized,
F: FnMut(B, Self::Item) -> R,
R: Try<Output = B>,fn try_for_each<F, R>(&mut self, f: F) -> Rwhere
Self: Sized,
F: FnMut(Self::Item) -> R,
R: Try<Output = ()>,fn fold<B, F>(self, init: B, f: F) -> Bwhere
Self: Sized,
F: FnMut(B, Self::Item) -> B,fn reduce<F>(self, f: F) -> Option<Self::Item>where
Self: Sized,
F: FnMut(Self::Item, Self::Item) -> Self::Item,fn try_reduce<R>(
&mut self,
f: impl FnMut(Self::Item, Self::Item) -> R,
) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere
Self: Sized,
R: Try<Output = Self::Item>,
<R as Try>::Residual: Residual<Option<Self::Item>>,iterator_try_reduce #87053)
fn all<F>(&mut self, f: F) -> boolwhere
Self: Sized,
F: FnMut(Self::Item) -> bool,fn any<F>(&mut self, f: F) -> boolwhere
Self: Sized,
F: FnMut(Self::Item) -> bool,fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where
Self: Sized,
P: FnMut(&Self::Item) -> bool,fn find_map<B, F>(&mut self, f: F) -> Option<B>where
Self: Sized,
F: FnMut(Self::Item) -> Option<B>,fn try_find<R>(
&mut self,
f: impl FnMut(&Self::Item) -> R,
) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere
Self: Sized,
R: Try<Output = bool>,
<R as Try>::Residual: Residual<Option<Self::Item>>,try_find #63178)
fn position<P>(&mut self, predicate: P) -> Option<usize>where
Self: Sized,
P: FnMut(Self::Item) -> bool,fn rposition<P>(&mut self, predicate: P) -> Option<usize>where
P: FnMut(Self::Item) -> bool,
Self: Sized + ExactSizeIterator + DoubleEndedIterator,fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where
B: Ord,
Self: Sized,
F: FnMut(&Self::Item) -> B,fn max_by<F>(self, compare: F) -> Option<Self::Item>where
Self: Sized,
F: FnMut(&Self::Item, &Self::Item) -> Ordering,fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where
B: Ord,
Self: Sized,
F: FnMut(&Self::Item) -> B,fn min_by<F>(self, compare: F) -> Option<Self::Item>where
Self: Sized,
F: FnMut(&Self::Item, &Self::Item) -> Ordering,fn rev(self) -> Rev<Self> ⓘwhere
Self: Sized + DoubleEndedIterator,fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
Self: Sized + Iterator<Item = (A, B)>,fn copied<'a, T>(self) -> Copied<Self> ⓘwhere
T: Copy + 'a,
Self: Sized + Iterator<Item = &'a T>,fn cloned<'a, T>(self) -> Cloned<Self> ⓘwhere
T: Clone + 'a,
Self: Sized + Iterator<Item = &'a T>,fn cycle(self) -> Cycle<Self> ⓘwhere
Self: Sized + Clone,fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N> ⓘwhere
Self: Sized,iter_array_chunks #100450)
N elements of the iterator at a time. Read more
fn sum<S>(self) -> Swhere
Self: Sized,
S: Sum<Self::Item>,fn product<P>(self) -> Pwhere
Self: Sized,
P: Product<Self::Item>,fn cmp<I>(self, other: I) -> Orderingwhere
I: IntoIterator<Item = Self::Item>,
Self::Item: Ord,
Self: Sized,fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,iter_order_by #64295)
Iterator with those of another with respect to the specified comparison function. Read more
fn partial_cmp<I>(self, other: I) -> Option<Ordering>where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Self: Sized,PartialOrd elements of this Iterator with those of another. The comparison works like short-circuit evaluation, returning a result without comparing the remaining elements. As soon as an order can be determined, the evaluation stops and a result is returned. Read more
fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,iter_order_by #64295)
Iterator with those of another with respect to the specified comparison function. Read more
fn eq<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
Self: Sized,fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,iter_order_by #64295)
Iterator are equal to those of another with respect to the specified equality function. Read more
fn ne<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
Self: Sized,fn lt<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Self: Sized,Iterator are lexicographically less than those of another. Read more
fn le<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Self: Sized,Iterator are lexicographically less or equal to those of another. Read more
fn gt<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Self: Sized,Iterator are lexicographically greater than those of another. Read more
fn ge<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Self: Sized,Iterator are lexicographically greater than or equal to those of another. Read more
fn is_sorted_by<F>(self, compare: F) -> boolwhere
Self: Sized,
F: FnMut(&Self::Item, &Self::Item) -> bool,fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere
Self: Sized,
F: FnMut(Self::Item) -> K,
K: PartialOrd,impl<Idx> PartialEq for Range<Idx>where
Idx: PartialEq,fn eq(&self, other: &Range<Idx>) -> bool
self and other values to be equal, and is used by ==.fn ne(&self, other: &Rhs) -> bool
!=. The default implementation is almost always sufficient, and should not be overridden without very good reason.impl<T> RangeBounds<T> for Range<&T>If you need to use this implementation where T is unsized, consider using the RangeBounds impl for a 2-tuple of Bound<&T>, i.e. replace start..end with (Bound::Included(start), Bound::Excluded(end)).
fn start_bound(&self) -> Bound<&T>
fn end_bound(&self) -> Bound<&T>
fn contains<U>(&self, item: &U) -> boolwhere
T: PartialOrd<U>,
U: PartialOrd<T> + ?Sized,fn is_empty(&self) -> boolwhere
T: PartialOrd,range_bounds_is_empty #137300)
true if the range contains no items. One-sided ranges (RangeFrom, etc) always return false. Read more
impl<T> RangeBounds<T> for Range<T>
fn start_bound(&self) -> Bound<&T>
fn end_bound(&self) -> Bound<&T>
fn contains<U>(&self, item: &U) -> boolwhere
T: PartialOrd<U>,
U: PartialOrd<T> + ?Sized,fn is_empty(&self) -> boolwhere
T: PartialOrd,range_bounds_is_empty #137300)
true if the range contains no items. One-sided ranges (RangeFrom, etc) always return false. Read more
impl<T> SliceIndex<[T]> for Range<usize>The methods index and index_mut panic if:
type Output = [T]
fn get(self, slice: &[T]) -> Option<&[T]>
slice_index_methods)
fn get_mut(self, slice: &mut [T]) -> Option<&mut [T]>
slice_index_methods)
unsafe fn get_unchecked(self, slice: *const [T]) -> *const [T]
slice_index_methods)
unsafe fn get_unchecked_mut(self, slice: *mut [T]) -> *mut [T]
slice_index_methods)
fn index(self, slice: &[T]) -> &[T]
slice_index_methods)
fn index_mut(self, slice: &mut [T]) -> &mut [T]
slice_index_methods)
impl SliceIndex<ByteStr> for Range<usize>
type Output = ByteStr
fn get(
self,
slice: &ByteStr,
) -> Option<&<Range<usize> as SliceIndex<ByteStr>>::Output>slice_index_methods)
fn get_mut(
self,
slice: &mut ByteStr,
) -> Option<&mut <Range<usize> as SliceIndex<ByteStr>>::Output>slice_index_methods)
unsafe fn get_unchecked(
self,
slice: *const ByteStr,
) -> *const <Range<usize> as SliceIndex<ByteStr>>::Outputslice_index_methods)
unsafe fn get_unchecked_mut(
self,
slice: *mut ByteStr,
) -> *mut <Range<usize> as SliceIndex<ByteStr>>::Outputslice_index_methods)
fn index(
self,
slice: &ByteStr,
) -> &<Range<usize> as SliceIndex<ByteStr>>::Output ⓘslice_index_methods)
fn index_mut(
self,
slice: &mut ByteStr,
) -> &mut <Range<usize> as SliceIndex<ByteStr>>::Output ⓘslice_index_methods)
impl SliceIndex<str> for Range<usize>Implements substring slicing with syntax &self[begin .. end] or &mut self[begin .. end].
Returns a slice of the given string from the byte range [begin, end).
This operation is O(1).
Prior to 1.20.0, these indexing operations were still supported by direct implementation of Index and IndexMut.
Panics if begin or end does not point to the starting byte offset of a character (as defined by is_char_boundary), if begin > end, or if end > len.
let s = "Löwe 老虎 Léopard"; assert_eq!(&s[0 .. 1], "L"); assert_eq!(&s[1 .. 9], "öwe 老"); // these will panic: // byte 2 lies within `ö`: // &s[2 ..3]; // byte 8 lies within `老` // &s[1 .. 8]; // byte 100 is outside the string // &s[3 .. 100];
type Output = str
fn get(self, slice: &str) -> Option<&<Range<usize> as SliceIndex<str>>::Output>
slice_index_methods)
fn get_mut(
self,
slice: &mut str,
) -> Option<&mut <Range<usize> as SliceIndex<str>>::Output>slice_index_methods)
unsafe fn get_unchecked(
self,
slice: *const str,
) -> *const <Range<usize> as SliceIndex<str>>::Outputslice_index_methods)
unsafe fn get_unchecked_mut(
self,
slice: *mut str,
) -> *mut <Range<usize> as SliceIndex<str>>::Outputslice_index_methods)
fn index(self, slice: &str) -> &<Range<usize> as SliceIndex<str>>::Output ⓘ
slice_index_methods)
fn index_mut(
self,
slice: &mut str,
) -> &mut <Range<usize> as SliceIndex<str>>::Output ⓘslice_index_methods)
impl<T> CloneFromCell for Range<T>where
T: CloneFromCell,impl<Idx> Eq for Range<Idx>where
Idx: Eq,impl<A> FusedIterator for Range<A>where
A: Step,impl<Idx> StructuralPartialEq for Range<Idx>
impl<A> TrustedLen for Range<A>where
A: TrustedStep,impl<Idx> Freeze for Range<Idx>where
Idx: Freeze,impl<Idx> RefUnwindSafe for Range<Idx>where
Idx: RefUnwindSafe,impl<Idx> Send for Range<Idx>where
Idx: Send,impl<Idx> Sync for Range<Idx>where
Idx: Sync,impl<Idx> Unpin for Range<Idx>where
Idx: Unpin,impl<Idx> UnwindSafe for Range<Idx>where
Idx: UnwindSafe,impl<T> Any for Twhere
T: 'static + ?Sized,impl<T> Borrow<T> for Twhere
T: ?Sized,impl<T> BorrowMut<T> for Twhere
T: ?Sized,impl<T> CloneToUninit for Twhere
T: Clone,unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit #126799)
impl<T> From<T> for T
fn from(t: T) -> T
Returns the argument unchanged.
impl<T, U> Into<U> for Twhere
U: From<T>,fn into(self) -> U
Calls U::from(self).
That is, this conversion is whatever the implementation of From<T> for U chooses to do.
impl<I> IntoIterator for Iwhere
I: Iterator,type Item = <I as Iterator>::Item
type IntoIter = I
fn into_iter(self) -> I
impl<T> ToOwned for Twhere
T: Clone,type Owned = T
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)
impl<T, U> TryFrom<U> for Twhere
U: Into<T>,type Error = Infallible
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto<U> for Twhere
U: TryFrom<T>,
© 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/std/range/legacy/struct.Range.html