Patchwork D7718: rust-directory: simplify bidirectional sampling

login
register
mail settings
Submitter phabricator
Date Dec. 24, 2019, 1:50 p.m.
Message ID <differential-rev-PHID-DREV-jkwldt2tfehydkzpnk3v-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/44039/
State New
Headers show

Comments

phabricator - Dec. 24, 2019, 1:50 p.m.
gracinet created this revision.
Herald added subscribers: mercurial-devel, kevincox, durin42.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  Thanks to the typestate pattern, we don't have a
  complicated management of borrows to perform in
  that method with the early return condition and
  the comment was just obsolete.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D7718

AFFECTED FILES
  rust/hg-core/src/discovery.rs

CHANGE DETAILS




To: gracinet, #hg-reviewers
Cc: durin42, kevincox, mercurial-devel

Patch

diff --git a/rust/hg-core/src/discovery.rs b/rust/hg-core/src/discovery.rs
--- a/rust/hg-core/src/discovery.rs
+++ b/rust/hg-core/src/discovery.rs
@@ -563,13 +563,8 @@ 
         &mut self,
         size: usize,
     ) -> Result<(HashSet<Revision>, usize), GraphError> {
-        {
-            // we don't want to compute children_cache before this
-            // but doing it after extracting self.undecided takes a mutable
-            // ref to self while a shareable one is still active.
-            if self.undecided.len() <= size {
-                return Ok((self.undecided.clone(), size));
-            }
+        if self.undecided.len() <= size {
+            return Ok((self.undecided.clone(), size));
         }
 
         self.ensure_children_cache()?;