File tree Expand file tree Collapse file tree 3 files changed +5
-10
lines changed Expand file tree Collapse file tree 3 files changed +5
-10
lines changed Original file line number Diff line number Diff line change @@ -10,7 +10,7 @@ edition = "2021"
10
10
[dependencies ]
11
11
smallvec = { version = " 1.9.0" , features = [" const_generics" ] }
12
12
disjoint-sets = " 0.4.2"
13
- im = " 14.2 .0"
13
+ im = " 15.1 .0"
14
14
petgraph = " 0.6.2"
15
15
sparta-proc-macros = { path = " ../rust-proc-macros" , version = " 0.1.0" }
16
16
Original file line number Diff line number Diff line change @@ -222,12 +222,8 @@ where
222
222
match ( lhs, rhs) {
223
223
( Value ( l_map) , Value ( ref mut r_map) ) => {
224
224
l_map. retain ( |l_k, _| r_map. contains_key ( l_k) ) ;
225
-
226
- // NOTE: implcit prerequisite: key() and iter_mut() get the same order for the same map.
227
- // When `im` crate upgrades to 15.1, we could simply use iter_mut() as it will get both
228
- // keys and values.
229
- let r_vs: Vec < _ > = l_map. keys ( ) . map ( |l_k| r_map. remove ( l_k) . unwrap ( ) ) . collect ( ) ;
230
- for ( l_v, r_v) in l_map. iter_mut ( ) . zip ( r_vs) {
225
+ for ( l_k, l_v) in l_map. iter_mut ( ) {
226
+ let r_v = r_map. remove ( l_k) . unwrap ( ) ;
231
227
operation ( l_v, r_v) ;
232
228
}
233
229
l_map. retain ( |_, l_v| !l_v. is_top ( ) ) ;
Original file line number Diff line number Diff line change @@ -238,9 +238,8 @@ where
238
238
( _, Top ) => { }
239
239
( Value ( l_map) , Value ( mut r_map) ) => {
240
240
l_map. retain ( |l_k, _| r_map. contains_key ( l_k) ) ;
241
-
242
- let r_vs: Vec < _ > = l_map. keys ( ) . map ( |l_k| r_map. remove ( l_k) . unwrap ( ) ) . collect ( ) ;
243
- for ( l_v, r_v) in l_map. iter_mut ( ) . zip ( r_vs) {
241
+ for ( l_k, l_v) in l_map. iter_mut ( ) {
242
+ let r_v = r_map. remove ( l_k) . unwrap ( ) ;
244
243
operation ( l_v, r_v) ;
245
244
}
246
245
You can’t perform that action at this time.
0 commit comments