Mercurial > public > mercurial-scm > hg-stable
diff rust/hg-core/src/dirstate_tree/status.rs @ 47293:ce41ee53263f
dirstate-tree: Extract into a method sorting children of a given node
A later changset will use this in another place.
This is an associated function (that Python would call static method)
instead of a free function so it doesn?t need to be imported separately.
It?s on `Node` rather than `ChildNodes` because the latter is a type alias
to an external type (`HashMap`) so that would require an extension trait
which needs to be imported separately.
Differential Revision: https://phab.mercurial-scm.org/D10721
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Wed, 19 May 2021 13:15:00 +0200 |
parents | 15395fd8ab28 |
children | 0252600fd1cf |
line wrap: on
line diff
--- a/rust/hg-core/src/dirstate_tree/status.rs Wed May 19 13:15:00 2021 +0200 +++ b/rust/hg-core/src/dirstate_tree/status.rs Wed May 19 13:15:00 2021 +0200 @@ -110,11 +110,9 @@ // `merge_join_by` requires both its input iterators to be sorted: - let mut dirstate_nodes: Vec<_> = dirstate_nodes.iter_mut().collect(); + let dirstate_nodes = Node::sorted(dirstate_nodes); // `sort_unstable_by_key` doesn’t allow keys borrowing from the value: // https://github.com/rust-lang/rust/issues/34162 - dirstate_nodes - .sort_unstable_by(|(path1, _), (path2, _)| path1.cmp(path2)); fs_entries.sort_unstable_by(|e1, e2| e1.base_name.cmp(&e2.base_name)); itertools::merge_join_by(