Add upgrade conversion from WeakPtr to SharedPtr
diff --git a/gen/src/write.rs b/gen/src/write.rs
index 359eb22..4e802da 100644
--- a/gen/src/write.rs
+++ b/gen/src/write.rs
@@ -1806,6 +1806,17 @@
writeln!(out, "}}");
writeln!(
out,
+ "void cxxbridge1$weak_ptr${}$upgrade(const ::std::weak_ptr<{}>& weak, ::std::shared_ptr<{}> *shared) noexcept {{",
+ instance, inner, inner,
+ );
+ writeln!(
+ out,
+ " ::new (shared) ::std::shared_ptr<{}>(weak.lock());",
+ inner,
+ );
+ writeln!(out, "}}");
+ writeln!(
+ out,
"void cxxbridge1$weak_ptr${}$drop(::std::weak_ptr<{}> *self) noexcept {{",
instance, inner,
);