# HG changeset patch # User Antoine cezar # Date 2020-09-28 14:52:35 # Node ID be951ca95b08f533c608087925ad673646cfff5d # Parent 1cef583541c02668705705ee6a32f7d0d5f78a54 hg-core: use `.or(Err(Error))` not `.map_err(|_| Error)` (D9100#inline-15067) Differential Revision: https://phab.mercurial-scm.org/D9108 diff --git a/rust/hg-core/src/operations/list_tracked_files.rs b/rust/hg-core/src/operations/list_tracked_files.rs --- a/rust/hg-core/src/operations/list_tracked_files.rs +++ b/rust/hg-core/src/operations/list_tracked_files.rs @@ -166,14 +166,13 @@ impl<'a> ListRevTrackedFiles<'a> { let changelog_entry = match self.rev.parse::() { Ok(rev) => self.changelog.get_rev(rev)?, _ => { - let changelog_node = hex::decode(&self.rev).map_err(|_| { - ListRevTrackedFilesErrorKind::InvalidRevision - })?; + let changelog_node = hex::decode(&self.rev) + .or(Err(ListRevTrackedFilesErrorKind::InvalidRevision))?; self.changelog.get_node(&changelog_node)? } }; let manifest_node = hex::decode(&changelog_entry.manifest_node()?) - .map_err(|_| ListRevTrackedFilesErrorKind::CorruptedRevlog)?; + .or(Err(ListRevTrackedFilesErrorKind::CorruptedRevlog))?; self.manifest_entry = Some(self.manifest.get_node(&manifest_node)?); diff --git a/rust/hg-core/src/revlog/revlog.rs b/rust/hg-core/src/revlog/revlog.rs --- a/rust/hg-core/src/revlog/revlog.rs +++ b/rust/hg-core/src/revlog/revlog.rs @@ -111,9 +111,8 @@ impl Revlog { let mut delta_chain = vec![]; while let Some(base_rev) = entry.base_rev { delta_chain.push(entry); - entry = self - .get_entry(base_rev) - .map_err(|_| RevlogError::Corrupted)?; + entry = + self.get_entry(base_rev).or(Err(RevlogError::Corrupted))?; } // TODO do not look twice in the index