diff -r adf3c425c7a9 -r 2ac69af65636 src/nalgebra_support.rs --- a/src/nalgebra_support.rs Tue Sep 02 00:09:46 2025 -0500 +++ b/src/nalgebra_support.rs Tue Sep 02 08:01:57 2025 -0500 @@ -59,11 +59,13 @@ #[derive(Copy, Clone, Debug)] pub struct MatrixDecomposition; -impl Decomposition> for MatrixDecomposition +impl Decomposition> for MatrixDecomposition where - S: Storage, + S: Storage, M: Dim, K: Dim, + RS: Dim, + CS: Dim, E: Scalar + Zero + One, DefaultAllocator: Allocator, { @@ -74,19 +76,23 @@ where Matrix: 'b; type Reference<'b> - = &'b MatrixView<'b, E, M, K, Dyn, Dyn> + = &'b MatrixView<'b, E, M, K, RS, CS> where Matrix: 'b; #[inline] - fn lift<'b>(r: Self::Reference<'b>) -> Self::Decomposition<'b> { + fn lift<'b>(r: Self::Reference<'b>) -> Self::Decomposition<'b> + where + S: 'b, + { r.into_owned() } } -impl Instance> for Matrix +impl Instance, MatrixDecomposition> + for Matrix where - SM: Storage, + S: Storage, SV: Storage, M: Dim, K: Dim, @@ -102,7 +108,7 @@ fn eval_ref_decompose<'b, R>( &'b self, - f: impl FnOnce(&'b MatrixView<'b, E, M, K, Dyn, Dyn>) -> R, + f: impl FnOnce(>::Reference<'b>) -> R, ) -> R where Self: 'b,