Test returning Vec by value from C to Rust
diff --git a/tests/ffi/lib.rs b/tests/ffi/lib.rs
index 4a6ec81..0965e52 100644
--- a/tests/ffi/lib.rs
+++ b/tests/ffi/lib.rs
@@ -32,6 +32,7 @@
         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_rust_vec() -> Vec<u8>;
 
         fn c_take_primitive(n: usize);
         fn c_take_shared(shared: Shared);
diff --git a/tests/ffi/tests.cc b/tests/ffi/tests.cc
index 8503ac7..7867bf0 100644
--- a/tests/ffi/tests.cc
+++ b/tests/ffi/tests.cc
@@ -93,6 +93,10 @@
   return c.get_v();
 }
 
+rust::Vec<uint8_t> c_return_rust_vec() {
+  throw std::runtime_error("unimplemented");
+}
+
 void c_take_primitive(size_t n) {
   if (n == 2020) {
     cxx_test_suite_set_correct();
diff --git a/tests/ffi/tests.h b/tests/ffi/tests.h
index 0e9081a..9a067d2 100644
--- a/tests/ffi/tests.h
+++ b/tests/ffi/tests.h
@@ -36,6 +36,7 @@
 std::unique_ptr<std::vector<Shared>> c_return_unique_ptr_vector_shared();
 std::unique_ptr<std::vector<C>> c_return_unique_ptr_vector_opaque();
 const std::vector<uint8_t> &c_return_ref_vector(const C &c);
+rust::Vec<uint8_t> c_return_rust_vec();
 
 void c_take_primitive(size_t n);
 void c_take_shared(Shared shared);