Patchwork D8153: rust-index: moved constructor in separate impl block

login
register
mail settings
Submitter phabricator
Date Feb. 26, 2020, 5:36 p.m.
Message ID <differential-rev-PHID-DREV-blcs5wxig4czb2id2tcm-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/45333/
State Superseded
Headers show

Comments

phabricator - Feb. 26, 2020, 5:36 p.m.
Alphare created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  with the upcoming addition of the nodemap logic, it's going to become
  more complicated.
  
  Being in the separate impl block has the advantage to be subject to rustfmt,
  whereas code inside macro calls isn't.

REPOSITORY
  rHG Mercurial

BRANCH
  default

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

AFFECTED FILES
  rust/hg-cpython/src/revlog.rs

CHANGE DETAILS




To: Alphare, #hg-reviewers
Cc: mercurial-devel

Patch

diff --git a/rust/hg-cpython/src/revlog.rs b/rust/hg-cpython/src/revlog.rs
--- a/rust/hg-cpython/src/revlog.rs
+++ b/rust/hg-cpython/src/revlog.rs
@@ -28,8 +28,7 @@ 
     data cindex: RefCell<cindex::Index>;
 
     def __new__(_cls, cindex: PyObject) -> PyResult<MixedIndex> {
-        Self::create_instance(py, RefCell::new(
-            cindex::Index::new(py, cindex)?))
+        Self::new(py, cindex)
     }
 
     /// Compatibility layer used for Python consumers needing access to the C index
@@ -199,6 +198,13 @@ 
 });
 
 impl MixedIndex {
+    fn new(py: Python, cindex: PyObject) -> PyResult<MixedIndex> {
+        Self::create_instance(
+            py,
+            RefCell::new(cindex::Index::new(py, cindex)?),
+        )
+    }
+
     /// forward a method call to the underlying C index
     fn call_cindex(
         &self,