Fix and test passing Vec by value from Rust to C
diff --git a/tests/ffi/tests.cc b/tests/ffi/tests.cc
index 805e9b9..c0b5888 100644
--- a/tests/ffi/tests.cc
+++ b/tests/ffi/tests.cc
@@ -187,14 +187,9 @@
   }
 }
 
-void c_take_vec_u8(const rust::Vec<uint8_t> &v) {
-  uint8_t sum = std::accumulate(v.begin(), v.end(), 0);
-  if (sum == 200) {
-    cxx_test_suite_set_correct();
-  }
-}
+void c_take_rust_vec(rust::Vec<uint8_t> v) { c_take_ref_rust_vec(v); }
 
-void c_take_vec_shared(const rust::Vec<Shared> &v) {
+void c_take_rust_vec_shared(rust::Vec<Shared> v) {
   uint32_t sum = 0;
   for (auto i : v) {
     sum += i.z;
@@ -204,6 +199,13 @@
   }
 }
 
+void c_take_ref_rust_vec(const rust::Vec<uint8_t> &v) {
+  uint8_t sum = std::accumulate(v.begin(), v.end(), 0);
+  if (sum == 200) {
+    cxx_test_suite_set_correct();
+  }
+}
+
 void c_take_callback(rust::Fn<size_t(rust::String)> callback) {
   callback("2020");
 }