From 008fd95d73bb500c3744ed8721a4b256eb0dac5c Mon Sep 17 00:00:00 2001
From: Russel Arbore <russel.jma@gmail.com>
Date: Fri, 31 Jan 2025 17:47:57 -0600
Subject: [PATCH] fix lifetime

---
 hercules_rt/src/lib.rs | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/hercules_rt/src/lib.rs b/hercules_rt/src/lib.rs
index c5ef5f6a..ed5dca1d 100644
--- a/hercules_rt/src/lib.rs
+++ b/hercules_rt/src/lib.rs
@@ -152,12 +152,12 @@ 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]) -> HerculesCPURefMut<'b> {
         unsafe {
             let size = self.size;
             let ptr = NonNull::new(dst.as_ptr() as *mut u8).unwrap();
             __copy_cuda_to_cpu(ptr.as_ptr(), self.ptr.as_ptr(), size);
-            HerculesCPURef {
+            HerculesCPURefMut {
                 ptr,
                 size,
                 _phantom: PhantomData,
@@ -192,12 +192,12 @@ impl<'a> HerculesCUDARefMut<'a> {
         }
     }
 
-    pub fn to_cpu_ref<T>(self, dst: &mut [T]) -> HerculesCPURef<'a> {
+    pub fn to_cpu_ref<'b, T>(self, dst: &mut [T]) -> HerculesCPURefMut<'b> {
         unsafe {
             let size = self.size;
             let ptr = NonNull::new(dst.as_ptr() as *mut u8).unwrap();
             __copy_cuda_to_cpu(ptr.as_ptr(), self.ptr.as_ptr(), size);
-            HerculesCPURef {
+            HerculesCPURefMut {
                 ptr,
                 size,
                 _phantom: PhantomData,
-- 
GitLab