Fix get_unchecked impl signature to match Rust
diff --git a/gen/write.rs b/gen/write.rs
index 3da42b3..2db985c 100644
--- a/gen/write.rs
+++ b/gen/write.rs
@@ -1147,10 +1147,10 @@
writeln!(
out,
- "const {} *cxxbridge02$std$vector${}$get_unchecked(const ::std::vector<{}> &s, size_t pos) noexcept {{",
+ "const {} &cxxbridge02$std$vector${}$get_unchecked(const ::std::vector<{}> &s, size_t pos) noexcept {{",
inner, instance, inner,
);
- writeln!(out, " return &s[pos];");
+ writeln!(out, " return s[pos];");
writeln!(out, "}}");
writeln!(out, "#endif // CXXBRIDGE02_vector_{}", instance);
}
diff --git a/src/cxx.cc b/src/cxx.cc
index 15f888d..e716aee 100644
--- a/src/cxx.cc
+++ b/src/cxx.cc
@@ -209,9 +209,9 @@
std::vector<CXX_TYPE> &s, const CXX_TYPE &item) noexcept { \
s.push_back(item); \
} \
- const CXX_TYPE *cxxbridge02$std$vector$##RUST_TYPE##$get_unchecked( \
+ const CXX_TYPE &cxxbridge02$std$vector$##RUST_TYPE##$get_unchecked( \
const std::vector<CXX_TYPE> &s, size_t pos) noexcept { \
- return &s[pos]; \
+ return s[pos]; \
} \
static_assert(sizeof(::std::unique_ptr<std::vector<CXX_TYPE>>) == \
sizeof(void *), \