diff --git a/hercules_rt/src/lib.rs b/hercules_rt/src/lib.rs
index c5ef5f6a601fb04304396a5e28c23c53cd020f44..1ac27b251219236e496adb12383c81e8982b888a 100644
--- a/hercules_rt/src/lib.rs
+++ b/hercules_rt/src/lib.rs
@@ -152,7 +152,7 @@ impl<'a> HerculesCPURefMut<'a> {
 
 #[cfg(feature = "cuda")]
 impl<'a> HerculesCUDARef<'a> {
-    pub fn to_cpu_ref<T>(self, dst: &mut [T]) -> HerculesCPURef<'a> {
+    pub fn to_cpu_ref<'b, T>(self, dst: &'b mut [T]) -> HerculesCPURef<'b> {
         unsafe {
             let size = self.size;
             let ptr = NonNull::new(dst.as_ptr() as *mut u8).unwrap();