From b9c7f98ce9d3e866f0fc5d05e7208e548497c636 Mon Sep 17 00:00:00 2001 From: Aidan Hobson Sayers Date: Sat, 3 Feb 2018 21:24:22 +0000 Subject: [PATCH] Clearer desired behaviour with an assertion --- src/cargo/core/resolver/mod.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/cargo/core/resolver/mod.rs b/src/cargo/core/resolver/mod.rs index 3522df18b..24dab3646 100644 --- a/src/cargo/core/resolver/mod.rs +++ b/src/cargo/core/resolver/mod.rs @@ -767,8 +767,11 @@ fn find_candidate<'a>(backtrack_stack: &mut Vec>, (frame.remaining_candidates.next(prev_active), frame.remaining_candidates.clone().next(prev_active).is_some()) }; + let cur_num_dep_prev_active = frame.context_backup.prev_active(dep).len(); + // Activations should monotonically decrease during backtracking + assert!(cur_num_dep_prev_active <= num_dep_prev_active); let maychange = !frame.context_backup.is_active(parent) || - frame.context_backup.prev_active(dep).len() != num_dep_prev_active; + cur_num_dep_prev_active != num_dep_prev_active; if !maychange { continue } -- 2.30.2