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