diff --git a/src/rb/local.rs b/src/rb/local.rs index 40f0496..e751bfa 100644 --- a/src/rb/local.rs +++ b/src/rb/local.rs @@ -166,7 +166,7 @@ impl SplitRef for LocalRb { type RefProd<'a> = Prod<&'a Self> where Self: 'a; type RefCons<'a> = Cons<&'a Self> where Self: 'a; - fn split_ref(&mut self) -> (Self::RefProd<'_>, Self::RefCons<'_>) { + fn split_ref(&self) -> (Self::RefProd<'_>, Self::RefCons<'_>) { (Prod::new(self), Cons::new(self)) } } diff --git a/src/rb/shared.rs b/src/rb/shared.rs index abada88..807b39d 100644 --- a/src/rb/shared.rs +++ b/src/rb/shared.rs @@ -181,7 +181,7 @@ impl SplitRef for SharedRb { type RefProd<'a> = CachingProd<&'a Self> where Self: 'a; type RefCons<'a> = CachingCons<&'a Self> where Self: 'a; - fn split_ref(&mut self) -> (Self::RefProd<'_>, Self::RefCons<'_>) { + fn split_ref(&self) -> (Self::RefProd<'_>, Self::RefCons<'_>) { (CachingProd::new(self), CachingCons::new(self)) } } diff --git a/src/traits/split.rs b/src/traits/split.rs index f466087..1204dd4 100644 --- a/src/traits/split.rs +++ b/src/traits/split.rs @@ -23,5 +23,5 @@ pub trait SplitRef { Self: 'a; /// Perform splitting by reference. - fn split_ref(&mut self) -> (Self::RefProd<'_>, Self::RefCons<'_>); + fn split_ref(&self) -> (Self::RefProd<'_>, Self::RefCons<'_>); }