@@ -1839,7 +1839,6 @@ impl<T, A: Allocator> VecDeque<T, A> {
18391839 /// # Examples
18401840 ///
18411841 /// ```
1842- /// #![feature(vec_deque_pop_if)]
18431842 /// use std::collections::VecDeque;
18441843 ///
18451844 /// let mut deque: VecDeque<i32> = vec![0, 1, 2, 3, 4].into();
@@ -1849,7 +1848,7 @@ impl<T, A: Allocator> VecDeque<T, A> {
18491848 /// assert_eq!(deque, [1, 2, 3, 4]);
18501849 /// assert_eq!(deque.pop_front_if(pred), None);
18511850 /// ```
1852- #[ unstable ( feature = "vec_deque_pop_if" , issue = "135889 " ) ]
1851+ #[ stable ( feature = "vec_deque_pop_if" , since = "CURRENT_RUSTC_VERSION " ) ]
18531852 pub fn pop_front_if ( & mut self , predicate : impl FnOnce ( & mut T ) -> bool ) -> Option < T > {
18541853 let first = self . front_mut ( ) ?;
18551854 if predicate ( first) { self . pop_front ( ) } else { None }
@@ -1862,7 +1861,6 @@ impl<T, A: Allocator> VecDeque<T, A> {
18621861 /// # Examples
18631862 ///
18641863 /// ```
1865- /// #![feature(vec_deque_pop_if)]
18661864 /// use std::collections::VecDeque;
18671865 ///
18681866 /// let mut deque: VecDeque<i32> = vec![0, 1, 2, 3, 4].into();
@@ -1872,10 +1870,10 @@ impl<T, A: Allocator> VecDeque<T, A> {
18721870 /// assert_eq!(deque, [0, 1, 2, 3]);
18731871 /// assert_eq!(deque.pop_back_if(pred), None);
18741872 /// ```
1875- #[ unstable ( feature = "vec_deque_pop_if" , issue = "135889 " ) ]
1873+ #[ stable ( feature = "vec_deque_pop_if" , since = "CURRENT_RUSTC_VERSION " ) ]
18761874 pub fn pop_back_if ( & mut self , predicate : impl FnOnce ( & mut T ) -> bool ) -> Option < T > {
1877- let first = self . back_mut ( ) ?;
1878- if predicate ( first ) { self . pop_back ( ) } else { None }
1875+ let last = self . back_mut ( ) ?;
1876+ if predicate ( last ) { self . pop_back ( ) } else { None }
18791877 }
18801878
18811879 /// Prepends an element to the deque.
0 commit comments