Add dealloc shim for Box to dealloc without running T's Drop
diff --git a/gen/src/write.rs b/gen/src/write.rs
index fc0872f..cbad93c 100644
--- a/gen/src/write.rs
+++ b/gen/src/write.rs
@@ -1353,6 +1353,11 @@
);
writeln!(
out,
+ "void cxxbridge1$box${}$dealloc({} *) noexcept;",
+ instance, inner,
+ );
+ writeln!(
+ out,
"void cxxbridge1$box${}$drop(::rust::Box<{}> *ptr) noexcept;",
instance, inner,
);
@@ -1420,6 +1425,15 @@
writeln!(out, "}}");
writeln!(out, "template <>");
+ writeln!(
+ out,
+ "void Box<{}>::dealloc({} *ptr) noexcept {{",
+ inner, inner,
+ );
+ writeln!(out, " cxxbridge1$box${}$dealloc(ptr);", instance);
+ writeln!(out, "}}");
+
+ writeln!(out, "template <>");
writeln!(out, "void Box<{}>::drop() noexcept {{", inner);
writeln!(out, " cxxbridge1$box${}$drop(this);", instance);
writeln!(out, "}}");