rust: fix signature of rustlazyancestors_init() function

Obviously, sizeof(int) != mem::size_of::<usize>() on amd64, though the
argument would be passed in 64-bit register anyway.
2 files changed, 4 insertions(+), 3 deletions(-)

M mercurial/cext/revlog.c
M rust/hg-direct-ffi/src/ancestors.rs
M mercurial/cext/revlog.c +1 -1
@@ 2311,7 2311,7 @@ rustlazyancestorsObject *rustlazyancesto
 	/* to pass index_get_parents() */
 	int (*)(indexObject *, Py_ssize_t, int*, int),
 	/* intrevs vector */
-	int initrevslen, long *initrevs,
+	Py_ssize_t initrevslen, long *initrevs,
 	long stoprev,
 	int inclusive);
 void rustlazyancestors_drop(rustlazyancestorsObject *self);

          
M rust/hg-direct-ffi/src/ancestors.rs +3 -2
@@ 60,15 60,16 @@ impl Graph for Index {
 pub extern "C" fn rustlazyancestors_init(
     index: IndexPtr,
     parents: IndexParentsFn,
-    initrevslen: usize,
+    initrevslen: ssize_t,
     initrevs: *mut c_long,
     stoprev: c_long,
     inclusive: c_int,
 ) -> *mut AncestorsIterator<Index> {
+    assert!(initrevslen >= 0);
     unsafe {
         raw_init(
             Index::new(index, parents),
-            initrevslen,
+            initrevslen as usize,
             initrevs,
             stoprev,
             inclusive,