Patchwork D8154: rust-index: add `append` method to cindex/Index

login
register
mail settings
Submitter phabricator
Date March 11, 2020, 3:42 p.m.
Message ID <b29a4d2133b74da4f11e853307fe4a3a@localhost.localdomain>
Download mbox | patch
Permalink /patch/45695/
State Not Applicable
Headers show

Comments

phabricator - March 11, 2020, 3:42 p.m.
Closed by commit rHGcefd130c98be: rust-index: add `append` method to cindex/Index (authored by gracinet).
This revision was automatically updated to reflect the committed changes.
This revision was not accepted when it landed; it landed in state "Needs Review".

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D8154?vs=20653&id=20692

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D8154/new/

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

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

CHANGE DETAILS




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

Patch

diff --git a/rust/hg-cpython/src/cindex.rs b/rust/hg-cpython/src/cindex.rs
--- a/rust/hg-cpython/src/cindex.rs
+++ b/rust/hg-cpython/src/cindex.rs
@@ -10,7 +10,10 @@ 
 //! Ideally, we should use an Index entirely implemented in Rust,
 //! but this will take some time to get there.
 
-use cpython::{exc::ImportError, PyClone, PyErr, PyObject, PyResult, Python};
+use cpython::{
+    exc::ImportError, ObjectProtocol, PyClone, PyErr, PyObject, PyResult,
+    PyTuple, Python, PythonObject,
+};
 use hg::revlog::{Node, RevlogIndex};
 use hg::{Graph, GraphError, Revision, WORKING_DIRECTORY_REVISION};
 use libc::c_int;
@@ -97,6 +100,15 @@ 
     pub fn inner(&self) -> &PyObject {
         &self.index
     }
+
+    pub fn append(&mut self, py: Python, tup: PyTuple) -> PyResult<PyObject> {
+        self.index.call_method(
+            py,
+            "append",
+            PyTuple::new(py, &[tup.into_object()]),
+            None,
+        )
+    }
 }
 
 impl Clone for Index {