diff rust/hg-core/src/dirstate_tree/dispatch.rs @ 47123:33e5511b571a

rust: Remove DirstateMap::file_fold_map This was a HashMap constructed on demand and then cached in the DirstateMap struct to avoid reconstructing at the next access. However the only use is in Python bindings converting it to a PyDict. That method in turn is wrapped in a @cachedproperty in Python code. This was two redudant layers of caching. This changeset removes the Rust-level one to keep the Python dict cache, and have bindings create a PyDict by iterating. Differential Revision: https://phab.mercurial-scm.org/D10493
author Simon Sapin <simon.sapin@octobus.net>
date Tue, 13 Apr 2021 17:02:58 +0200
parents e3cebe96c0fc
children 9c6b458a08e1
line wrap: on
line diff
--- a/rust/hg-core/src/dirstate_tree/dispatch.rs	Fri Apr 09 13:13:19 2021 +0200
+++ b/rust/hg-core/src/dirstate_tree/dispatch.rs	Tue Apr 13 17:02:58 2021 +0200
@@ -11,7 +11,6 @@
 use crate::DirstateParents;
 use crate::DirstateStatus;
 use crate::EntryState;
-use crate::FastHashMap;
 use crate::HgPathCow;
 use crate::PatternFileWarning;
 use crate::StateMapIter;
@@ -93,8 +92,6 @@
         now: Timestamp,
     ) -> Result<Vec<u8>, DirstateError>;
 
-    fn build_file_fold_map(&mut self) -> &FastHashMap<HgPathBuf, HgPathBuf>;
-
     fn set_all_dirs(&mut self) -> Result<(), DirstateMapError>;
 
     fn set_dirs(&mut self) -> Result<(), DirstateMapError>;
@@ -259,10 +256,6 @@
         self.pack(parents, now)
     }
 
-    fn build_file_fold_map(&mut self) -> &FastHashMap<HgPathBuf, HgPathBuf> {
-        self.build_file_fold_map()
-    }
-
     fn set_all_dirs(&mut self) -> Result<(), DirstateMapError> {
         self.set_all_dirs()
     }