diff -r 89371dc4d637 -r 2b13f8a0c8ba src/nalgebra_support.rs --- a/src/nalgebra_support.rs Mon May 12 19:30:41 2025 -0500 +++ b/src/nalgebra_support.rs Mon May 12 20:40:14 2025 -0500 @@ -224,7 +224,7 @@ { #[inline] fn dot>(&self, other: I) -> E { - Vector::::dot(self, other.ref_instance()) + other.eval_ref_decompose(|r| Vector::::dot(self, r)) } #[inline] @@ -234,7 +234,7 @@ #[inline] fn dist2_squared>(&self, other: I) -> E { - metric_distance_squared(self, other.ref_instance()) + other.eval_ref_decompose(|r| metric_distance_squared(self, r)) } } @@ -305,7 +305,7 @@ { #[inline] fn dist>(&self, other: I, _: L1) -> E { - nalgebra::Norm::metric_distance(&LpNorm(1), self, other.ref_instance()) + other.eval_ref_decompose(|r| nalgebra::Norm::metric_distance(&LpNorm(1), self, r)) } } @@ -331,7 +331,7 @@ { #[inline] fn dist>(&self, other: I, _: L2) -> E { - nalgebra::Norm::metric_distance(&LpNorm(2), self, other.ref_instance()) + other.eval_ref_decompose(|r| nalgebra::Norm::metric_distance(&LpNorm(2), self, r)) } } @@ -357,7 +357,7 @@ { #[inline] fn dist>(&self, other: I, _: Linfinity) -> E { - nalgebra::Norm::metric_distance(&UniformNorm, self, other.ref_instance()) + other.eval_ref_decompose(|r| nalgebra::Norm::metric_distance(&UniformNorm, self, r)) } }