equal
deleted
inserted
replaced
108 return; |
108 return; |
109 }; |
109 }; |
110 |
110 |
111 // `merge_join_by` requires both its input iterators to be sorted: |
111 // `merge_join_by` requires both its input iterators to be sorted: |
112 |
112 |
113 let mut dirstate_nodes: Vec<_> = dirstate_nodes.iter_mut().collect(); |
113 let dirstate_nodes = Node::sorted(dirstate_nodes); |
114 // `sort_unstable_by_key` doesn’t allow keys borrowing from the value: |
114 // `sort_unstable_by_key` doesn’t allow keys borrowing from the value: |
115 // https://github.com/rust-lang/rust/issues/34162 |
115 // https://github.com/rust-lang/rust/issues/34162 |
116 dirstate_nodes |
|
117 .sort_unstable_by(|(path1, _), (path2, _)| path1.cmp(path2)); |
|
118 fs_entries.sort_unstable_by(|e1, e2| e1.base_name.cmp(&e2.base_name)); |
116 fs_entries.sort_unstable_by(|e1, e2| e1.base_name.cmp(&e2.base_name)); |
119 |
117 |
120 itertools::merge_join_by( |
118 itertools::merge_join_by( |
121 dirstate_nodes, |
119 dirstate_nodes, |
122 &fs_entries, |
120 &fs_entries, |