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

login
register
mail settings
Submitter phabricator
Date March 10, 2020, 10:51 a.m.
Message ID <5d1028a450bc984ddceba686b525c328@localhost.localdomain>
Download mbox | patch
Permalink /patch/45650/
State Not Applicable
Headers show

Comments

phabricator - March 10, 2020, 10:51 a.m.
Alphare updated this revision to Diff 20653.

REPOSITORY
  rHG Mercurial

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

BRANCH
  default

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 {