Emit const assertions for every vector element type
diff --git a/src/cxx_vector.rs b/src/cxx_vector.rs
index d9e8892..8294044 100644
--- a/src/cxx_vector.rs
+++ b/src/cxx_vector.rs
@@ -136,6 +136,8 @@
 
 macro_rules! impl_vector_element_for_primitive {
     ($ty:ident) => {
+        const_assert_eq!(1, mem::align_of::<CxxVector<$ty>>());
+
         unsafe impl VectorElement for $ty {
             const __NAME: &'static dyn Display = &stringify!($ty);
             fn __vector_size(v: &CxxVector<$ty>) -> usize {
@@ -230,5 +232,3 @@
 impl_vector_element_for_primitive!(isize);
 impl_vector_element_for_primitive!(f32);
 impl_vector_element_for_primitive!(f64);
-
-const_assert_eq!(1, mem::align_of::<CxxVector<usize>>());
diff --git a/src/rust_vec.rs b/src/rust_vec.rs
index 4ca17ca..564851e 100644
--- a/src/rust_vec.rs
+++ b/src/rust_vec.rs
@@ -38,6 +38,9 @@
 
 macro_rules! rust_vec_shims_for_primitive {
     ($ty:ident) => {
+        const_assert_eq!(mem::size_of::<[usize; 3]>(), mem::size_of::<Vec<$ty>>());
+        const_assert_eq!(mem::align_of::<usize>(), mem::align_of::<Vec<$ty>>());
+
         const _: () = {
             attr! {
                 #[export_name = concat!("cxxbridge02$rust_vec$", stringify!($ty), "$drop")]
@@ -77,6 +80,3 @@
 rust_vec_shims_for_primitive!(i64);
 rust_vec_shims_for_primitive!(f32);
 rust_vec_shims_for_primitive!(f64);
-
-const_assert_eq!(mem::size_of::<[usize; 3]>(), mem::size_of::<Vec<i32>>());
-const_assert_eq!(mem::align_of::<usize>(), mem::align_of::<Vec<i32>>());