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 *),                                            \