Fix warning about get_unchecked returning a C-incompatible reference
out/tests/ffi/lib.rs.cc:1011:22: warning: 'cxxbridge03$std$vector$tests$Shared$get_unchecked' has C-linkage specified, but returns user-defined type 'const tests::Shared &' which is incompatible with C [-Wreturn-type-c-linkage]
const tests::Shared &cxxbridge03$std$vector$tests$Shared$get_unchecked(const ::std::vector<tests::Shared> &s, size_t pos) noexcept {
^
out/tests/ffi/lib.rs.cc:1038:17: warning: 'cxxbridge03$std$vector$tests$C$get_unchecked' has C-linkage specified, but returns user-defined type 'const tests::C &' which is incompatible with C [-Wreturn-type-c-linkage]
const tests::C &cxxbridge03$std$vector$tests$C$get_unchecked(const ::std::vector<tests::C> &s, size_t pos) noexcept {
^
2 warnings generated.
diff --git a/gen/src/write.rs b/gen/src/write.rs
index 8b554d8..e227ce1 100644
--- a/gen/src/write.rs
+++ b/gen/src/write.rs
@@ -1232,10 +1232,10 @@
writeln!(out, "}}");
writeln!(
out,
- "const {} &cxxbridge03$std$vector${}$get_unchecked(const ::std::vector<{}> &s, size_t pos) noexcept {{",
+ "const {} *cxxbridge03$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, "}}");
write_unique_ptr_common(out, vector_ty, types);