--- a/src/nalgebra_support.rs Wed Sep 03 13:15:32 2025 -0500 +++ b/src/nalgebra_support.rs Wed Sep 03 14:27:21 2025 -0500 @@ -207,12 +207,12 @@ impl<SM, SV, N, M, K, E> Mapping<Matrix<E, M, K, SV>> for Matrix<E, N, M, SM> where SM: Storage<E, N, M>, - SV: Storage<E, M, K> + Clone, + SV: Storage<E, M, K>, N: Dim, M: Dim, K: Dim, E: Scalar + Zero + One + Copy + ClosedMulAssign + ClosedAddAssign, - DefaultAllocator: Allocator<N, K> + Allocator<M, K> + Allocator<N, M> + Allocator<M, N>, + DefaultAllocator: Allocator<N, K> + Allocator<M, K> + Allocator<N, M>, ShapeConstraint: StridesOk<E, N, M, SM> + StridesOk<E, M, K, SV> + StridesOk<E, N, K>, { type Codomain = OMatrix<E, N, K>; @@ -226,12 +226,12 @@ impl<'a, SM, SV, N, M, K, E> Linear<Matrix<E, M, K, SV>> for Matrix<E, N, M, SM> where SM: Storage<E, N, M>, - SV: Storage<E, M, K> + Clone, + SV: Storage<E, M, K>, N: Dim, M: Dim, K: Dim, E: Scalar + Zero + One + Copy + ClosedMulAssign + ClosedAddAssign, - DefaultAllocator: Allocator<N, K> + Allocator<M, K> + Allocator<N, M> + Allocator<M, N>, + DefaultAllocator: Allocator<N, K> + Allocator<M, K> + Allocator<N, M>, ShapeConstraint: StridesOk<E, N, M, SM> + StridesOk<E, M, K, SV> + StridesOk<E, N, K>, { } @@ -240,13 +240,13 @@ for Matrix<E, N, M, SM> where SM: Storage<E, N, M>, - SV1: Storage<E, M, K> + Clone, + SV1: Storage<E, M, K>, SV2: StorageMut<E, N, K>, N: Dim, M: Dim, K: Dim, E: Scalar + Zero + One + Float, - DefaultAllocator: Allocator<N, K> + Allocator<M, K> + Allocator<N, M> + Allocator<M, N>, + DefaultAllocator: Allocator<N, K> + Allocator<M, K> + Allocator<N, M>, ShapeConstraint: StridesOk<E, N, M, SM> + StridesOk<E, M, K, SV1> + StridesOk<E, N, K, SV2>, { #[inline]