From 0716b882ba6e8c92ab65d5436aaeb16ba7702928 Mon Sep 17 00:00:00 2001 From: Jacob Finkelman Date: Thu, 6 Feb 2025 19:35:07 +0000 Subject: [PATCH] move code out of loop --- src/cargo/core/resolver/mod.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/cargo/core/resolver/mod.rs b/src/cargo/core/resolver/mod.rs index 8f29dd5c6..0d89bde21 100644 --- a/src/cargo/core/resolver/mod.rs +++ b/src/cargo/core/resolver/mod.rs @@ -960,13 +960,6 @@ fn find_candidate( }; while let Some(mut frame) = backtrack_stack.pop() { - let next = frame - .remaining_candidates - .next(&mut frame.conflicting_activations, &frame.context); - let Some((candidate, has_another)) = next else { - panic!("why did we save a frame that has no next?"); - }; - // If all members of `conflicting_activations` are still // active in this back up we know that we're guaranteed to not actually // make any progress. As a result if we hit this condition we can @@ -999,6 +992,11 @@ fn find_candidate( } } + let (candidate, has_another) = frame + .remaining_candidates + .next(&mut frame.conflicting_activations, &frame.context) + .expect("why did we save a frame that has no next?"); + return Some((candidate, has_another, frame)); } None