Fix and test fallible return of Vec from C to Rust
diff --git a/macro/src/expand.rs b/macro/src/expand.rs
index 35603c9..d27c15c 100644
--- a/macro/src/expand.rs
+++ b/macro/src/expand.rs
@@ -281,6 +281,7 @@
                 Some(quote!(#call.map(|r| r.into_string())))
             }
             Type::RustBox(_) => Some(quote!(#call.map(|r| ::std::boxed::Box::from_raw(r)))),
+            Type::RustVec(_) => Some(quote!(#call.map(|r| r.into_vec()))),
             Type::UniquePtr(_) => Some(quote!(#call.map(|r| ::cxx::UniquePtr::from_raw(r)))),
             Type::Ref(ty) => match &ty.inner {
                 Type::Ident(ident) if ident == RustString => {