Mercurial > public > mercurial-scm > hg-stable
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() }