rust/hg-cpython/src/ancestors.rs
changeset 43269 33fe96a5c522
parent 42609 326fdce22fb2
child 43945 f98f0e3ddaa1
--- a/rust/hg-cpython/src/ancestors.rs	Tue Oct 15 22:02:34 2019 -0400
+++ b/rust/hg-cpython/src/ancestors.rs	Mon Sep 30 16:31:53 2019 -0400
@@ -35,9 +35,7 @@
 //! [`MissingAncestors`]: struct.MissingAncestors.html
 //! [`AncestorsIterator`]: struct.AncestorsIterator.html
 use crate::{
-    cindex::Index,
-    conversion::{py_set, rev_pyiter_collect},
-    exceptions::GraphError,
+    cindex::Index, conversion::rev_pyiter_collect, exceptions::GraphError,
 };
 use cpython::{
     ObjectProtocol, PyClone, PyDict, PyList, PyModule, PyObject, PyResult,
@@ -146,13 +144,13 @@
         Ok(py.None())
     }
 
-    def bases(&self) -> PyResult<PyObject> {
-        py_set(py, self.inner(py).borrow().get_bases())
+    def bases(&self) -> PyResult<HashSet<Revision>> {
+        Ok(self.inner(py).borrow().get_bases().clone())
     }
 
-    def basesheads(&self) -> PyResult<PyObject> {
+    def basesheads(&self) -> PyResult<HashSet<Revision>> {
         let inner = self.inner(py).borrow();
-        py_set(py, &inner.bases_heads().map_err(|e| GraphError::pynew(py, e))?)
+        inner.bases_heads().map_err(|e| GraphError::pynew(py, e))
     }
 
     def removeancestorsfrom(&self, revs: PyObject) -> PyResult<PyObject> {