Mercurial > public > mercurial-scm > hg-stable
changeset 53004:3fae90405966
rust-index: don't compute error messages unless needed
Same as the previous patch, this is just dumb performance loss.
author | Rapha?l Gom?s <rgomes@octobus.net> |
---|---|
date | Fri, 21 Feb 2025 13:58:21 -0500 |
parents | 155e1e8dc055 |
children | 1ef08a0381a0 |
files | rust/hg-core/src/revlog/index.rs |
diffstat | 1 files changed, 9 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/rust/hg-core/src/revlog/index.rs Fri Feb 21 13:56:11 2025 -0500 +++ b/rust/hg-core/src/revlog/index.rs Fri Feb 21 13:58:21 2025 -0500 @@ -880,9 +880,9 @@ if parent_base.0 == p1.0 { break; } - p1 = self.check_revision(parent_base).ok_or( - RevlogError::InvalidRevision(parent_base.to_string()), - )?; + p1 = self.check_revision(parent_base).ok_or_else(|| { + RevlogError::InvalidRevision(parent_base.to_string()) + })?; } while let Some(p2_entry) = self.get_entry(p2) { if p2_entry.compressed_len() != 0 || p2.0 == 0 { @@ -893,16 +893,16 @@ if parent_base.0 == p2.0 { break; } - p2 = self.check_revision(parent_base).ok_or( - RevlogError::InvalidRevision(parent_base.to_string()), - )?; + p2 = self.check_revision(parent_base).ok_or_else(|| { + RevlogError::InvalidRevision(parent_base.to_string()) + })?; } if base == p1.0 || base == p2.0 { return Ok(false); } - rev = self - .check_revision(base.into()) - .ok_or(RevlogError::InvalidRevision(base.to_string()))?; + rev = self.check_revision(base.into()).ok_or_else(|| { + RevlogError::InvalidRevision(base.to_string()) + })?; } Ok(rev == NULL_REVISION) }