diff rust/hg-core/src/operations/list_tracked_files.rs @ 46431:645ee7225fab

rust: Make NodePrefix allocation-free and Copy, remove NodePrefixRef The `*Ref` struct only existed to avoid allocating `Vec`s when cloning `NodePrefix`, but we can avoid having `Vec` in the first place by using an inline array instead. This makes `NodePrefix` 21 bytes (with 1 for the length) which is smaller than before as `Vec` alone is 24 bytes. Differential Revision: https://phab.mercurial-scm.org/D9863
author Simon Sapin <simon.sapin@octobus.net>
date Mon, 25 Jan 2021 11:48:47 +0100
parents 8a4914397d02
children 4b381dbbf8b7
line wrap: on
line diff
--- a/rust/hg-core/src/operations/list_tracked_files.rs	Sat Jan 30 18:30:11 2021 +0800
+++ b/rust/hg-core/src/operations/list_tracked_files.rs	Mon Jan 25 11:48:47 2021 +0100
@@ -147,12 +147,12 @@
         _ => {
             let changelog_node = NodePrefix::from_hex(&rev)
                 .or(Err(ListRevTrackedFilesErrorKind::InvalidRevision))?;
-            changelog.get_node(changelog_node.borrow())?
+            changelog.get_node(changelog_node)?
         }
     };
     let manifest_node = Node::from_hex(&changelog_entry.manifest_node()?)
         .or(Err(ListRevTrackedFilesErrorKind::CorruptedRevlog))?;
-    let manifest_entry = manifest.get_node((&manifest_node).into())?;
+    let manifest_entry = manifest.get_node(manifest_node.into())?;
     Ok(FilesForRev(manifest_entry))
 }