--- a/src/instance.rs Wed Sep 03 09:16:03 2025 -0500 +++ b/src/instance.rs Wed Sep 03 09:52:30 2025 -0500 @@ -193,7 +193,7 @@ #[derive(Copy, Clone, Debug)] pub struct BasicDecomposition; -impl<X: Space + Clone> Decomposition<X> for BasicDecomposition { +impl<X: Space> Decomposition<X> for BasicDecomposition { type Decomposition<'b> = MyCow<'b, X> where @@ -282,7 +282,7 @@ } } -impl<X: Space + Clone> Instance<X, BasicDecomposition> for X { +impl<X: Space> Instance<X, BasicDecomposition> for X { #[inline] fn eval_decompose<'b, R>(self, f: impl FnOnce(MyCow<'b, X>) -> R) -> R where @@ -302,7 +302,7 @@ } } -impl<'a, X: Space + Clone> Instance<X, BasicDecomposition> for &'a X { +impl<'a, X: Space> Instance<X, BasicDecomposition> for &'a X { #[inline] fn eval_decompose<'b, R>(self, f: impl FnOnce(MyCow<'b, X>) -> R) -> R where @@ -322,7 +322,7 @@ } } -impl<'a, X: Space + Clone> Instance<X, BasicDecomposition> for &'a mut X { +impl<'a, X: Space> Instance<X, BasicDecomposition> for &'a mut X { #[inline] fn eval_decompose<'b, R>(self, f: impl FnOnce(MyCow<'b, X>) -> R) -> R where @@ -342,7 +342,7 @@ } } -impl<'a, X: Space + Clone> Instance<X, BasicDecomposition> for MyCow<'a, X> { +impl<'a, X: Space> Instance<X, BasicDecomposition> for MyCow<'a, X> { #[inline] fn eval_decompose<'b, R>(self, f: impl FnOnce(MyCow<'b, X>) -> R) -> R where