@@ -52,9 +52,7 @@ impl<N: Hash + Eq, E: Hash + Eq, V> DependencyQueue<N, E, V> {
52
52
}
53
53
}
54
54
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 > {
58
56
/// Adds a new ndoe and its dependencies to this queue.
59
57
///
60
58
/// 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
90
88
}
91
89
self . priority = out. into_iter ( ) . map ( |( n, set) | ( n, set. len ( ) ) ) . collect ( ) ;
92
90
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 > (
94
92
key : & N ,
95
93
map : & HashMap < N , HashMap < E , HashSet < N > > > ,
96
94
results : & mut HashMap < N , HashSet < N > > ,
97
95
) -> HashSet < N > {
98
- let in_progress: HashSet < N > = HashSet :: new ( ) ;
99
96
if let Some ( depth) = results. get ( key) {
100
- assert_ne ! ( depth, & in_progress , "cycle in DependencyQueue" ) ;
97
+ assert ! ( ! depth. is_empty ( ) , "cycle in DependencyQueue" ) ;
101
98
return depth. clone ( ) ;
102
99
}
103
- results. insert ( key. clone ( ) , in_progress ) ;
100
+ results. insert ( key. clone ( ) , HashSet :: new ( ) ) ;
104
101
105
102
let mut set = HashSet :: new ( ) ;
106
103
set. insert ( key. clone ( ) ) ;
@@ -111,7 +108,7 @@ impl<N: Hash + Eq + Clone + std::fmt::Debug + PartialEq, E: Eq + Hash + Clone, V
111
108
. flat_map ( |it| it. values ( ) )
112
109
. flat_map ( |set| set)
113
110
{
114
- set. extend ( depth ( dep, map, results) . into_iter ( ) )
111
+ set. extend ( depth ( dep, map, results) )
115
112
}
116
113
117
114
* results. get_mut ( key) . unwrap ( ) = set. clone ( ) ;
0 commit comments