Skip to content

Commit 0bce400

Browse files
committed
minimize diff
1 parent 35853c1 commit 0bce400

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

src/cargo/util/dependency_queue.rs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,7 @@ impl<N: Hash + Eq, E: Hash + Eq, V> DependencyQueue<N, E, V> {
5252
}
5353
}
5454

55-
impl<N: Hash + Eq + Clone + std::fmt::Debug + PartialEq, E: Eq + Hash + Clone, V>
56-
DependencyQueue<N, E, V>
57-
{
55+
impl<N: Hash + Eq + Clone, E: Eq + Hash + Clone, V> DependencyQueue<N, E, V> {
5856
/// Adds a new ndoe and its dependencies to this queue.
5957
///
6058
/// The `key` specified is a new node in the dependency graph, and the node
@@ -90,17 +88,16 @@ impl<N: Hash + Eq + Clone + std::fmt::Debug + PartialEq, E: Eq + Hash + Clone, V
9088
}
9189
self.priority = out.into_iter().map(|(n, set)| (n, set.len())).collect();
9290

93-
fn depth<N: Hash + Eq + Clone + std::fmt::Debug + PartialEq, E: Hash + Eq + Clone>(
91+
fn depth<N: Hash + Eq + Clone, E: Hash + Eq + Clone>(
9492
key: &N,
9593
map: &HashMap<N, HashMap<E, HashSet<N>>>,
9694
results: &mut HashMap<N, HashSet<N>>,
9795
) -> HashSet<N> {
98-
let in_progress: HashSet<N> = HashSet::new();
9996
if let Some(depth) = results.get(key) {
100-
assert_ne!(depth, &in_progress, "cycle in DependencyQueue");
97+
assert!(!depth.is_empty(), "cycle in DependencyQueue");
10198
return depth.clone();
10299
}
103-
results.insert(key.clone(), in_progress);
100+
results.insert(key.clone(), HashSet::new());
104101

105102
let mut set = HashSet::new();
106103
set.insert(key.clone());
@@ -111,7 +108,7 @@ impl<N: Hash + Eq + Clone + std::fmt::Debug + PartialEq, E: Eq + Hash + Clone, V
111108
.flat_map(|it| it.values())
112109
.flat_map(|set| set)
113110
{
114-
set.extend(depth(dep, map, results).into_iter())
111+
set.extend(depth(dep, map, results))
115112
}
116113

117114
*results.get_mut(key).unwrap() = set.clone();

0 commit comments

Comments
 (0)