# HG changeset patch # User Tuomo Valkonen # Date 1756922127 18000 # Node ID 478c23ce7cefa969480b991926870d3c1071c999 # Parent fd9dba51afd3cb5386c86a951ca24e12e1cacfc2 Copiable MatrixViews diff -r fd9dba51afd3 -r 478c23ce7cef src/instance.rs --- a/src/instance.rs Wed Sep 03 10:08:28 2025 -0500 +++ b/src/instance.rs Wed Sep 03 12:55:27 2025 -0500 @@ -181,7 +181,7 @@ /// Type for a lightweight intermediate conversion that does not own the original variable. /// Usually this is just a reference, but may also be a lightweight structure that /// contains references; see the implementation for [`crate::direct_product::Pair`]. - type Reference<'b>: Instance + type Reference<'b>: Instance + Copy where X: 'b; diff -r fd9dba51afd3 -r 478c23ce7cef src/nalgebra_support.rs --- a/src/nalgebra_support.rs Wed Sep 03 10:08:28 2025 -0500 +++ b/src/nalgebra_support.rs Wed Sep 03 12:55:27 2025 -0500 @@ -91,7 +91,7 @@ SM: Storage, N: Dim, M: Dim, - E: Scalar + Zero + One, + E: Scalar + Zero + One + Copy, DefaultAllocator: Allocator, ShapeConstraint: StridesOk + StridesOk, { @@ -107,7 +107,7 @@ S: Storage, M: Dim, K: Dim, - E: Scalar + Zero + One, + E: Scalar + Zero + One + Copy, DefaultAllocator: Allocator, ShapeConstraint: StridesOk + StridesOk, { @@ -135,7 +135,7 @@ S2: Storage, M: Dim, K: Dim, - E: Scalar + Zero + One, + E: Scalar + Zero + One + Copy, DefaultAllocator: Allocator, ShapeConstraint: StridesOk + StridesOk, { @@ -170,7 +170,7 @@ S2: Storage, M: Dim, K: Dim, - E: Scalar + Zero + One, + E: Scalar + Zero + One + Copy, DefaultAllocator: Allocator, ShapeConstraint: StridesOk + StridesOk, { @@ -205,7 +205,7 @@ N: Dim, M: Dim, K: Dim, - E: Scalar + Zero + One + ClosedAddAssign + ClosedMulAssign, + E: Scalar + Zero + One + Copy + ClosedMulAssign + ClosedAddAssign, DefaultAllocator: Allocator + Allocator + Allocator + Allocator, ShapeConstraint: StridesOk + StridesOk + StridesOk, { @@ -224,7 +224,7 @@ N: Dim, M: Dim, K: Dim, - E: Scalar + Zero + One + ClosedAddAssign + ClosedMulAssign, + E: Scalar + Zero + One + Copy + ClosedMulAssign + ClosedAddAssign, DefaultAllocator: Allocator + Allocator + Allocator + Allocator, ShapeConstraint: StridesOk + StridesOk + StridesOk, { @@ -346,7 +346,7 @@ where SM: StorageMut + Clone, M: Dim, - E: Scalar + Zero + One + Float + RealField, + E: Scalar + Zero + One + Copy + Float + RealField, DefaultAllocator: Allocator, ShapeConstraint: StridesOk, { @@ -366,7 +366,7 @@ N: Dim, M: Dim, K: Dim, - E: Scalar + Zero + One + SimdComplexField, + E: Scalar + Zero + One + Copy + SimdComplexField, DefaultAllocator: Allocator + Allocator + Allocator + Allocator, ShapeConstraint: StridesOk + StridesOk