rust-index: add `append` method to cindex/Index
This will be used by `MixedIndex` in a later patch.
Differential Revision: https://phab.mercurial-scm.org/D8154
--- a/rust/hg-cpython/src/cindex.rs Mon Jan 13 19:56:16 2020 +0100
+++ b/rust/hg-cpython/src/cindex.rs Tue Feb 11 16:23:06 2020 +0100
@@ -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 {