Reorder rust::Vec below Box
diff --git a/include/cxx.h b/include/cxx.h
index 1df6c9b..a96e6fa 100644
--- a/include/cxx.h
+++ b/include/cxx.h
@@ -84,24 +84,6 @@
 };
 #endif // CXXBRIDGE02_RUST_STR
 
-#ifndef CXXBRIDGE02_RUST_VEC
-#define CXXBRIDGE02_RUST_VEC
-template <typename T>
-class Vec final {
-public:
-  size_t size() const noexcept;
-
-private:
-  Vec() noexcept;
-  Vec(const Vec &other) noexcept;
-  Vec &operator=(Vec other) noexcept;
-  void drop() noexcept;
-
-  // Size and alignment statically verified by rust_vec.rs.
-  std::array<uintptr_t, 3> repr;
-};
-#endif // CXXBRIDGE02_RUST_VEC
-
 #ifndef CXXBRIDGE02_RUST_SLICE
 #define CXXBRIDGE02_RUST_SLICE
 template <typename T>
@@ -218,6 +200,24 @@
 };
 #endif // CXXBRIDGE02_RUST_BOX
 
+#ifndef CXXBRIDGE02_RUST_VEC
+#define CXXBRIDGE02_RUST_VEC
+template <typename T>
+class Vec final {
+public:
+  size_t size() const noexcept;
+
+private:
+  Vec() noexcept;
+  Vec(const Vec &other) noexcept;
+  Vec &operator=(Vec other) noexcept;
+  void drop() noexcept;
+
+  // Size and alignment statically verified by rust_vec.rs.
+  std::array<uintptr_t, 3> repr;
+};
+#endif // CXXBRIDGE02_RUST_VEC
+
 #ifndef CXXBRIDGE02_RUST_FN
 #define CXXBRIDGE02_RUST_FN
 template <typename Signature, bool Throws = false>