From 4daa033c41d5080270fd6f97a58a5eb46a7cabe8 Mon Sep 17 00:00:00 2001 From: Xuyang Zhang Date: Sat, 11 Jul 2026 15:26:20 +0800 Subject: [PATCH] compiletest: use VecDeque::pop_front_if --- src/tools/compiletest/src/executor/deadline.rs | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/tools/compiletest/src/executor/deadline.rs b/src/tools/compiletest/src/executor/deadline.rs index 3536eff2fd80d..47e75c03f963e 100644 --- a/src/tools/compiletest/src/executor/deadline.rs +++ b/src/tools/compiletest/src/executor/deadline.rs @@ -79,7 +79,7 @@ impl<'a> DeadlineQueue<'a> { // Clear out entries that are past their deadline, but only invoke the // callback for tests that are still considered running. - while let Some(entry) = pop_front_if(&mut self.queue, |entry| entry.deadline <= now) { + while let Some(entry) = self.queue.pop_front_if(|entry| entry.deadline <= now) { if is_running(entry.id) { on_deadline_passed(entry.id, entry.test); } @@ -87,16 +87,10 @@ impl<'a> DeadlineQueue<'a> { // Also clear out any leading entries that are no longer running, even // if their deadline hasn't been reached. - while let Some(_) = pop_front_if(&mut self.queue, |entry| !is_running(entry.id)) {} + while self.queue.pop_front_if(|entry| !is_running(entry.id)).is_some() {} if let Some(front) = self.queue.front() { assert!(now < front.deadline); } } } - -/// FIXME(vec_deque_pop_if): Use `VecDeque::pop_front_if` when it is stable in bootstrap. -fn pop_front_if(queue: &mut VecDeque, predicate: impl FnOnce(&T) -> bool) -> Option { - let first = queue.front()?; - if predicate(first) { queue.pop_front() } else { None } -}