diff --git a/src/cxx.cc b/src/cxx.cc
index 7a9728d..921b17d 100644
--- a/src/cxx.cc
+++ b/src/cxx.cc
@@ -550,7 +550,7 @@
   const CXX_TYPE *cxxbridge1$rust_vec$##RUST_TYPE##$data(                      \
       const rust::Vec<CXX_TYPE> *ptr) noexcept;                                \
   void cxxbridge1$rust_vec$##RUST_TYPE##$reserve_total(                        \
-      rust::Vec<CXX_TYPE> *ptr, std::size_t cap) noexcept;                     \
+      rust::Vec<CXX_TYPE> *ptr, std::size_t new_cap) noexcept;                 \
   void cxxbridge1$rust_vec$##RUST_TYPE##$set_len(rust::Vec<CXX_TYPE> *ptr,     \
                                                  std::size_t len) noexcept;
 
@@ -576,8 +576,8 @@
     return cxxbridge1$rust_vec$##RUST_TYPE##$data(this);                       \
   }                                                                            \
   template <>                                                                  \
-  void Vec<CXX_TYPE>::reserve_total(std::size_t cap) noexcept {                \
-    cxxbridge1$rust_vec$##RUST_TYPE##$reserve_total(this, cap);                \
+  void Vec<CXX_TYPE>::reserve_total(std::size_t new_cap) noexcept {            \
+    cxxbridge1$rust_vec$##RUST_TYPE##$reserve_total(this, new_cap);            \
   }                                                                            \
   template <>                                                                  \
   void Vec<CXX_TYPE>::set_len(std::size_t len) noexcept {                      \
diff --git a/src/rust_vec.rs b/src/rust_vec.rs
index e66519f..b2df5f3 100644
--- a/src/rust_vec.rs
+++ b/src/rust_vec.rs
@@ -56,11 +56,11 @@
         self.as_vec().as_ptr()
     }
 
-    pub fn reserve_total(&mut self, cap: usize) {
+    pub fn reserve_total(&mut self, new_cap: usize) {
         let vec = self.as_mut_vec();
         let len = vec.len();
-        if cap > len {
-            vec.reserve(cap - len);
+        if new_cap > len {
+            vec.reserve(new_cap - len);
         }
     }
 
diff --git a/src/symbols/rust_vec.rs b/src/symbols/rust_vec.rs
index 9bb4c29..dc46ac9 100644
--- a/src/symbols/rust_vec.rs
+++ b/src/symbols/rust_vec.rs
@@ -44,8 +44,8 @@
             }
             attr! {
                 #[export_name = concat!("cxxbridge1$rust_vec$", $segment, "$reserve_total")]
-                unsafe extern "C" fn __reserve_total(this: *mut RustVec<$ty>, cap: usize) {
-                    (*this).reserve_total(cap);
+                unsafe extern "C" fn __reserve_total(this: *mut RustVec<$ty>, new_cap: usize) {
+                    (*this).reserve_total(new_cap);
                 }
             }
             attr! {
