@@ -1975,7 +1975,7 @@ impl<T, A: Allocator> VecDeque<T, A> {
1975
1975
/// The order of the contents is preserved.
1976
1976
///
1977
1977
/// To get behavior like [`append`][VecDeque::append] where elements are moved
1978
- /// from the other collection to this one, use `self.prepend(other.drain())`.
1978
+ /// from the other collection to this one, use `self.prepend(other.drain(.. ))`.
1979
1979
///
1980
1980
/// # Examples
1981
1981
///
@@ -1987,6 +1987,19 @@ impl<T, A: Allocator> VecDeque<T, A> {
1987
1987
/// deque.prepend([1, 2, 3]);
1988
1988
/// assert_eq!(deque, [1, 2, 3, 4, 5, 6]);
1989
1989
/// ```
1990
+ ///
1991
+ /// Move values between collections like [`append`][VecDeque::append] does but prepend to the front:
1992
+ ///
1993
+ /// ```
1994
+ /// #![feature(deque_extend_front)]
1995
+ /// use std::collections::VecDeque;
1996
+ ///
1997
+ /// let mut deque1 = VecDeque::from([4, 5, 6]);
1998
+ /// let mut deque2 = VecDeque::from([1, 2, 3]);
1999
+ /// deque1.prepend(deque2.drain(..));
2000
+ /// assert_eq!(deque1, [1, 2, 3, 4, 5, 6]);
2001
+ /// assert!(deque2.is_empty());
2002
+ /// ```
1990
2003
#[ unstable( feature = "deque_extend_front" , issue = "146975" ) ]
1991
2004
#[ track_caller]
1992
2005
pub fn prepend < I : IntoIterator < Item = T , IntoIter : DoubleEndedIterator > > ( & mut self , other : I ) {
0 commit comments