Respect class-specific member operator new in MaybeUninit allocation
diff --git a/gen/src/write.rs b/gen/src/write.rs
index 03ebeb5..851b953 100644
--- a/gen/src/write.rs
+++ b/gen/src/write.rs
@@ -1540,7 +1540,7 @@
         "void cxxbridge1$unique_ptr${}$null(::std::unique_ptr<{}> *ptr) noexcept {{",
         instance, inner,
     );
-    writeln!(out, "  new (ptr) ::std::unique_ptr<{}>();", inner);
+    writeln!(out, "  ::new (ptr) ::std::unique_ptr<{}>();", inner);
     writeln!(out, "}}");
     if can_construct_from_value {
         out.builtin.maybe_uninit = true;
@@ -1554,7 +1554,7 @@
             "  {} *uninit = reinterpret_cast<{} *>(new ::rust::MaybeUninit<{}>);",
             inner, inner, inner,
         );
-        writeln!(out, "  new (ptr) ::std::unique_ptr<{}>(uninit);", inner);
+        writeln!(out, "  ::new (ptr) ::std::unique_ptr<{}>(uninit);", inner);
         writeln!(out, "  return uninit;");
         writeln!(out, "}}");
     }
@@ -1563,7 +1563,7 @@
         "void cxxbridge1$unique_ptr${}$raw(::std::unique_ptr<{}> *ptr, {} *raw) noexcept {{",
         instance, inner, inner,
     );
-    writeln!(out, "  new (ptr) ::std::unique_ptr<{}>(raw);", inner);
+    writeln!(out, "  ::new (ptr) ::std::unique_ptr<{}>(raw);", inner);
     writeln!(out, "}}");
     writeln!(
         out,
@@ -1630,7 +1630,7 @@
         "void cxxbridge1$shared_ptr${}$null(::std::shared_ptr<{}> *ptr) noexcept {{",
         instance, inner,
     );
-    writeln!(out, "  new (ptr) ::std::shared_ptr<{}>();", inner);
+    writeln!(out, "  ::new (ptr) ::std::shared_ptr<{}>();", inner);
     writeln!(out, "}}");
     if can_construct_from_value {
         out.builtin.maybe_uninit = true;
@@ -1644,7 +1644,7 @@
             "  {} *uninit = reinterpret_cast<{} *>(new ::rust::MaybeUninit<{}>);",
             inner, inner, inner,
         );
-        writeln!(out, "  new (ptr) ::std::shared_ptr<{}>(uninit);", inner);
+        writeln!(out, "  ::new (ptr) ::std::shared_ptr<{}>(uninit);", inner);
         writeln!(out, "  return uninit;");
         writeln!(out, "}}");
     }
@@ -1653,7 +1653,7 @@
         "void cxxbridge1$shared_ptr${}$clone(const ::std::shared_ptr<{}>& self, ::std::shared_ptr<{}> *ptr) noexcept {{",
         instance, inner, inner,
     );
-    writeln!(out, "  new (ptr) ::std::shared_ptr<{}>(self);", inner);
+    writeln!(out, "  ::new (ptr) ::std::shared_ptr<{}>(self);", inner);
     writeln!(out, "}}");
     writeln!(
         out,