rust-index: moved constructor in separate impl block
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.
Differential Revision: https://phab.mercurial-scm.org/D8153
--- a/rust/hg-cpython/src/revlog.rs Mon Jan 13 19:31:33 2020 +0100
+++ b/rust/hg-cpython/src/revlog.rs Mon Jan 13 19:56:16 2020 +0100
@@ -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,