diff --git a/gen/write.rs b/gen/write.rs index e89cf0bc..911a3d2a 100644 --- a/gen/write.rs +++ b/gen/write.rs @@ -1031,7 +1031,7 @@ fn write_rust_vec_impl(out: &mut OutFile, ty: &Type) { writeln!( out, " return cxxbridge02$rust_vec${}$drop(this);", - instance + instance, ); writeln!(out, "}}"); @@ -1044,7 +1044,7 @@ fn write_rust_vec_impl(out: &mut OutFile, ty: &Type) { writeln!( out, "Vec<{}>::operator ::std::vector<{}>() const noexcept {{", - inner, inner + inner, inner, ); writeln!(out, " ::std::vector<{}> v;", inner); writeln!(out, " v.reserve(this->size());"); diff --git a/macro/src/expand.rs b/macro/src/expand.rs index 95a6f1a1..1d404191 100644 --- a/macro/src/expand.rs +++ b/macro/src/expand.rs @@ -602,6 +602,7 @@ fn expand_rust_vec(namespace: &Namespace, ty: &Type, ident: &Ident) -> TokenStre unsafe extern "C" fn #local_vector_from(this: *mut ::cxx::RustVec<#inner>, vector: *mut ::cxx::RealVector<#inner>) { this.as_ref().unwrap().into_vector(vector.as_mut().unwrap()); } + #[doc(hidden)] #[export_name = #link_len] unsafe extern "C" fn #local_len(this: *const ::cxx::RustVec<#inner>) -> usize { this.as_ref().unwrap().len() diff --git a/src/vector.rs b/src/vector.rs index 805bdbb0..14361655 100644 --- a/src/vector.rs +++ b/src/vector.rs @@ -71,6 +71,7 @@ impl<'a, T: VectorTarget> IntoIterator for &'a RealVector { impl<'a, T: VectorTarget> Iterator for VectorIntoIterator<'a, T> { type Item = &'a T; + fn next(&mut self) -> Option { self.index = self.index + 1; self.v.get(self.index - 1) diff --git a/tests/ffi/tests.cc b/tests/ffi/tests.cc index 1dd3b73d..46f04bea 100644 --- a/tests/ffi/tests.cc +++ b/tests/ffi/tests.cc @@ -59,29 +59,28 @@ std::unique_ptr c_return_unique_ptr_string() { } std::unique_ptr> c_return_unique_ptr_vector_u8() { - auto retval = - std::unique_ptr>(new std::vector()); - retval->push_back(86); - retval->push_back(75); - retval->push_back(30); - retval->push_back(9); - return retval; + auto vec = std::unique_ptr>(new std::vector()); + vec->push_back(86); + vec->push_back(75); + vec->push_back(30); + vec->push_back(9); + return vec; } std::unique_ptr> c_return_unique_ptr_vector_f64() { - auto retval = std::unique_ptr>(new std::vector()); - retval->push_back(86.0); - retval->push_back(75.0); - retval->push_back(30.0); - retval->push_back(9.5); - return retval; + auto vec = std::unique_ptr>(new std::vector()); + vec->push_back(86.0); + vec->push_back(75.0); + vec->push_back(30.0); + vec->push_back(9.5); + return vec; } std::unique_ptr> c_return_unique_ptr_vector_shared() { - auto retval = std::unique_ptr>(new std::vector()); - retval->push_back(Shared{1010}); - retval->push_back(Shared{1011}); - return retval; + auto vec = std::unique_ptr>(new std::vector()); + vec->push_back(Shared{1010}); + vec->push_back(Shared{1011}); + return vec; } void c_take_primitive(size_t n) {