@@ -5297,21 +5297,22 @@ impl<T> [T] {
52975297 /// Basic usage:
52985298 /// ```
52995299 /// #![feature(substr_range)]
5300+ /// use core::range::Range;
53005301 ///
53015302 /// let nums = &[0, 5, 10, 0, 0, 5];
53025303 ///
53035304 /// let mut iter = nums
53045305 /// .split(|t| *t == 0)
53055306 /// .map(|n| nums.subslice_range(n).unwrap());
53065307 ///
5307- /// assert_eq!(iter.next(), Some(0..0 ));
5308- /// assert_eq!(iter.next(), Some(1..3 ));
5309- /// assert_eq!(iter.next(), Some(4..4 ));
5310- /// assert_eq!(iter.next(), Some(5..6 ));
5308+ /// assert_eq!(iter.next(), Some(Range { start: 0, end: 0 } ));
5309+ /// assert_eq!(iter.next(), Some(Range { start: 1, end: 3 } ));
5310+ /// assert_eq!(iter.next(), Some(Range { start: 4, end: 4 } ));
5311+ /// assert_eq!(iter.next(), Some(Range { start: 5, end: 6 } ));
53115312 /// ```
53125313 #[ must_use]
53135314 #[ unstable( feature = "substr_range" , issue = "126769" ) ]
5314- pub fn subslice_range ( & self , subslice : & [ T ] ) -> Option < Range < usize > > {
5315+ pub fn subslice_range ( & self , subslice : & [ T ] ) -> Option < core :: range :: Range < usize > > {
53155316 if T :: IS_ZST {
53165317 panic ! ( "elements are zero-sized" ) ;
53175318 }
@@ -5328,7 +5329,7 @@ impl<T> [T] {
53285329 let start = byte_start / size_of :: < T > ( ) ;
53295330 let end = start. wrapping_add ( subslice. len ( ) ) ;
53305331
5331- if start <= self . len ( ) && end <= self . len ( ) { Some ( start.. end) } else { None }
5332+ if start <= self . len ( ) && end <= self . len ( ) { Some ( core :: range :: Range { start, end } ) } else { None }
53325333 }
53335334
53345335 /// Returns the same slice `&[T]`.
0 commit comments