Introduce pins in test suite
diff --git a/tests/ffi/lib.rs b/tests/ffi/lib.rs
index ed6740d..ba9383a 100644
--- a/tests/ffi/lib.rs
+++ b/tests/ffi/lib.rs
@@ -137,10 +137,10 @@
fn c_return_unique_ptr_vector_shared() -> UniquePtr<CxxVector<Shared>>;
fn c_return_unique_ptr_vector_opaque() -> UniquePtr<CxxVector<C>>;
fn c_return_ref_vector(c: &C) -> &CxxVector<u8>;
- fn c_return_mut_vector(c: &mut C) -> &mut CxxVector<u8>;
+ fn c_return_mut_vector(c: Pin<&mut C>) -> Pin<&mut CxxVector<u8>>;
fn c_return_rust_vec() -> Vec<u8>;
fn c_return_ref_rust_vec(c: &C) -> &Vec<u8>;
- fn c_return_mut_rust_vec(c: &mut C) -> &mut Vec<u8>;
+ fn c_return_mut_rust_vec(c: Pin<&mut C>) -> &mut Vec<u8>;
fn c_return_rust_vec_string() -> Vec<String>;
fn c_return_identity(_: usize) -> usize;
fn c_return_sum(_: usize, _: usize) -> usize;
@@ -199,11 +199,10 @@
fn c_try_return_ref_rust_vec(c: &C) -> Result<&Vec<u8>>;
fn get(self: &C) -> usize;
- fn set(self: &mut C, n: usize) -> usize;
+ fn set(self: Pin<&mut C>, n: usize) -> usize;
fn get2(&self) -> usize;
- fn set2(&mut self, n: usize) -> usize;
- fn set_succeed(&mut self, n: usize) -> Result<usize>;
- fn get_fail(&mut self) -> Result<usize>;
+ fn set_succeed(self: Pin<&mut C>, n: usize) -> Result<usize>;
+ fn get_fail(self: Pin<&mut C>) -> Result<usize>;
fn c_method_on_shared(self: &Shared) -> usize;
#[rust_name = "i32_overloaded_method"]
diff --git a/tests/ffi/tests.cc b/tests/ffi/tests.cc
index fdf7a14..61ef701 100644
--- a/tests/ffi/tests.cc
+++ b/tests/ffi/tests.cc
@@ -26,12 +26,7 @@
return this->n;
}
-size_t C::set2(size_t n) {
- this->n = n;
- return this->n;
-}
-
-size_t C::set_succeed(size_t n) { return this->set2(n); }
+size_t C::set_succeed(size_t n) { return this->set(n); }
size_t C::get_fail() { throw std::runtime_error("unimplemented"); }
diff --git a/tests/ffi/tests.h b/tests/ffi/tests.h
index d231939..5acf469 100644
--- a/tests/ffi/tests.h
+++ b/tests/ffi/tests.h
@@ -45,7 +45,6 @@
size_t get() const;
size_t set(size_t n);
size_t get2() const;
- size_t set2(size_t n);
size_t set_succeed(size_t n);
size_t get_fail();
const std::vector<uint8_t> &get_v() const;
diff --git a/tests/test.rs b/tests/test.rs
index 2bae4d8..66ef7b4 100644
--- a/tests/test.rs
+++ b/tests/test.rs
@@ -190,8 +190,7 @@
assert_eq!(2020, old_value);
assert_eq!(2021, unique_ptr.set(2021));
assert_eq!(2021, unique_ptr.get());
- assert_eq!(old_value, unique_ptr.set2(old_value));
- assert_eq!(old_value, unique_ptr.get2());
+ assert_eq!(2021, unique_ptr.get2());
assert_eq!(2022, unique_ptr.set_succeed(2022).unwrap());
assert!(unique_ptr.get_fail().is_err());
assert_eq!(2021, ffi::Shared { z: 0 }.c_method_on_shared());