@@ -3025,26 +3025,29 @@ impl<T: Clone, A: Allocator> Vec<T, A> {
30253025 self . spec_extend ( other. iter ( ) )
30263026 }
30273027
3028- /// Copies elements from `src` range to the end of the vector.
3028+ /// Given a range `src`, clones a slice of elements in that range and appends it to the end.
3029+ ///
3030+ /// `src` must be a range that can form a valid subslice of the `Vec`.
30293031 ///
30303032 /// # Panics
30313033 ///
3032- /// Panics if the starting point is greater than the end point or if
3033- /// the end point is greater than the length of the vector.
3034+ /// Panics if starting index is greater than the end index
3035+ /// or if the index is greater than the length of the vector.
30343036 ///
30353037 /// # Examples
30363038 ///
30373039 /// ```
3038- /// let mut vec = vec![0, 1, 2, 3, 4];
3039- ///
3040- /// vec.extend_from_within(2..);
3041- /// assert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4]);
3040+ /// let mut characters = vec!['a', 'b', 'c', 'd', 'e'];
3041+ /// characters.extend_from_within(2..);
3042+ /// assert_eq!(characters, ['a', 'b', 'c', 'd', 'e', 'c', 'd', 'e']);
30423043 ///
3043- /// vec.extend_from_within(..2);
3044- /// assert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1]);
3044+ /// let mut numbers = vec![0, 1, 2, 3, 4];
3045+ /// numbers.extend_from_within(..2);
3046+ /// assert_eq!(numbers, [0, 1, 2, 3, 4, 0, 1]);
30453047 ///
3046- /// vec.extend_from_within(4..8);
3047- /// assert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1, 4, 2, 3, 4]);
3048+ /// let mut strings = vec![String::from("hello"), String::from("world"), String::from("!")];
3049+ /// strings.extend_from_within(1..=2);
3050+ /// assert_eq!(strings, ["hello", "world", "!", "world", "!"]);
30483051 /// ```
30493052 #[ cfg( not( no_global_oom_handling) ) ]
30503053 #[ stable( feature = "vec_extend_from_within" , since = "1.53.0" ) ]
0 commit comments