rust-dirstatemap: use a checked sub instead of a potentially underflowing one
This was missed in
2593873cda0f
Differential Revision: https://phab.mercurial-scm.org/D12532
--- a/rust/hg-core/src/dirstate_tree/dirstate_map.rs Fri Apr 08 17:55:03 2022 +0200
+++ b/rust/hg-core/src/dirstate_tree/dirstate_map.rs Fri Apr 08 18:10:12 2022 +0200
@@ -1337,7 +1337,9 @@
)?
.and_then(|node| {
if let Some(source) = &node.copy_source {
- *count -= 1;
+ *count = count
+ .checked_sub(1)
+ .expect("nodes_with_copy_source_count should be >= 0");
DirstateMap::count_dropped_path(unreachable_bytes, source);
}
node.copy_source.take().map(Cow::into_owned)