From 70290aace4a5bb3eccbf6c1e526e65f9eb752a60 Mon Sep 17 00:00:00 2001 From: Pavel Grigorenko Date: Wed, 20 Aug 2025 00:25:31 +0300 Subject: [PATCH] Stabilize `vec_deque_pop_if` --- library/alloc/src/collections/vec_deque/mod.rs | 10 ++++------ library/alloctests/tests/lib.rs | 1 - 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/library/alloc/src/collections/vec_deque/mod.rs b/library/alloc/src/collections/vec_deque/mod.rs index 2fce5c3e737e4..554e433cb34e0 100644 --- a/library/alloc/src/collections/vec_deque/mod.rs +++ b/library/alloc/src/collections/vec_deque/mod.rs @@ -1839,7 +1839,6 @@ impl VecDeque { /// # Examples /// /// ``` - /// #![feature(vec_deque_pop_if)] /// use std::collections::VecDeque; /// /// let mut deque: VecDeque = vec![0, 1, 2, 3, 4].into(); @@ -1849,7 +1848,7 @@ impl VecDeque { /// assert_eq!(deque, [1, 2, 3, 4]); /// assert_eq!(deque.pop_front_if(pred), None); /// ``` - #[unstable(feature = "vec_deque_pop_if", issue = "135889")] + #[stable(feature = "vec_deque_pop_if", since = "CURRENT_RUSTC_VERSION")] pub fn pop_front_if(&mut self, predicate: impl FnOnce(&mut T) -> bool) -> Option { let first = self.front_mut()?; if predicate(first) { self.pop_front() } else { None } @@ -1862,7 +1861,6 @@ impl VecDeque { /// # Examples /// /// ``` - /// #![feature(vec_deque_pop_if)] /// use std::collections::VecDeque; /// /// let mut deque: VecDeque = vec![0, 1, 2, 3, 4].into(); @@ -1872,10 +1870,10 @@ impl VecDeque { /// assert_eq!(deque, [0, 1, 2, 3]); /// assert_eq!(deque.pop_back_if(pred), None); /// ``` - #[unstable(feature = "vec_deque_pop_if", issue = "135889")] + #[stable(feature = "vec_deque_pop_if", since = "CURRENT_RUSTC_VERSION")] pub fn pop_back_if(&mut self, predicate: impl FnOnce(&mut T) -> bool) -> Option { - let first = self.back_mut()?; - if predicate(first) { self.pop_back() } else { None } + let last = self.back_mut()?; + if predicate(last) { self.pop_back() } else { None } } /// Prepends an element to the deque. diff --git a/library/alloctests/tests/lib.rs b/library/alloctests/tests/lib.rs index fcfc7f8dd296d..2992f1238e973 100644 --- a/library/alloctests/tests/lib.rs +++ b/library/alloctests/tests/lib.rs @@ -37,7 +37,6 @@ #![feature(local_waker)] #![feature(str_as_str)] #![feature(strict_provenance_lints)] -#![feature(vec_deque_pop_if)] #![feature(vec_deque_truncate_front)] #![feature(unique_rc_arc)] #![feature(macro_metavar_expr_concat)]