Skip to content

Commit e8ed405

Browse files
committed
Merge branch 'conflict_tracking' into links
# Conflicts: # src/cargo/core/resolver/mod.rs
2 parents ddccbca + 8899093 commit e8ed405

File tree

1 file changed

+2
-9
lines changed

1 file changed

+2
-9
lines changed

src/cargo/core/resolver/mod.rs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,6 @@ struct BacktrackFrame<'a> {
546546
parent: Summary,
547547
dep: Dependency,
548548
features: Rc<Vec<String>>,
549-
conflicting_activations: HashMap<PackageId, ConflictReason>,
550549
}
551550

552551
#[derive(Clone)]
@@ -610,7 +609,6 @@ fn activate_deps_loop<'a>(mut cx: Context<'a>,
610609
// use (those with more candidates).
611610
let mut backtrack_stack = Vec::new();
612611
let mut remaining_deps = BinaryHeap::new();
613-
let mut conflicting_activations;
614612
for &(ref summary, ref method) in summaries {
615613
debug!("initial activation: {}", summary.package_id());
616614
let candidate = Candidate { summary: summary.clone(), replace: None };
@@ -683,7 +681,6 @@ fn activate_deps_loop<'a>(mut cx: Context<'a>,
683681
remaining: RcVecIter::new(Rc::clone(&candidates)),
684682
conflicting_prev_active: HashMap::new(),
685683
};
686-
conflicting_activations = HashMap::new();
687684
(candidates.next(prev_active, &cx.links),
688685
candidates.clone().next(prev_active, &cx.links).is_ok(),
689686
candidates)
@@ -714,13 +711,11 @@ fn activate_deps_loop<'a>(mut cx: Context<'a>,
714711
parent: Summary::clone(&parent),
715712
dep: Dependency::clone(&dep),
716713
features: Rc::clone(&features),
717-
conflicting_activations: conflicting_activations.clone(),
718714
});
719715
}
720716
candidate
721717
}
722718
Err(mut conflicting) => {
723-
conflicting_activations.extend(conflicting.drain());
724719
// This dependency has no valid candidate. Backtrack until we
725720
// find a dependency that does have a candidate to try, and try
726721
// to activate that one. This resets the `remaining_deps` to
@@ -734,10 +729,10 @@ fn activate_deps_loop<'a>(mut cx: Context<'a>,
734729
&mut cur,
735730
&mut dep,
736731
&mut features,
737-
&mut conflicting_activations) {
732+
&mut conflicting) {
738733
None => return Err(activation_error(&cx, registry, &parent,
739734
&dep,
740-
conflicting_activations,
735+
conflicting,
741736
&candidates, config)),
742737
Some(candidate) => candidate,
743738
}
@@ -806,15 +801,13 @@ fn find_candidate<'a>(
806801
*parent = frame.parent.clone();
807802
*dep = frame.dep.clone();
808803
*features = Rc::clone(&frame.features);
809-
*conflicting_activations = frame.conflicting_activations.clone();
810804
backtrack_stack.push(frame);
811805
} else {
812806
*cx = frame.context_backup;
813807
*remaining_deps = frame.deps_backup;
814808
*parent = frame.parent;
815809
*dep = frame.dep;
816810
*features = frame.features;
817-
*conflicting_activations = frame.conflicting_activations
818811
}
819812
return Some(candidate);
820813
}

0 commit comments

Comments
 (0)