src/direct_product.rs

branch
dev
changeset 136
22fd33834ab7
parent 133
2b13f8a0c8ba
child 137
d5dfcb6abcf5
--- a/src/direct_product.rs	Mon May 12 20:40:14 2025 -0500
+++ b/src/direct_product.rs	Mon May 12 21:56:42 2025 -0500
@@ -365,15 +365,6 @@
         = Pair<D::Decomposition<'b>, Q::Decomposition<'b>>
     where
         Pair<A, B>: 'b;
-    type Reference<'b>
-        = Pair<D::Reference<'b>, Q::Reference<'b>>
-    where
-        Pair<A, B>: 'b;
-
-    #[inline]
-    fn lift<'b>(Pair(u, v): Self::Reference<'b>) -> Self::Decomposition<'b> {
-        Pair(D::lift(u), Q::lift(v))
-    }
 }
 
 impl<A, B, U, V, D, Q> Instance<Pair<A, B>, PairDecomposition<D, Q>> for Pair<U, V>
@@ -399,7 +390,7 @@
 
     fn eval_ref_decompose<'b, R>(
         &'b self,
-        f: impl FnOnce(Pair<D::Reference<'b>, Q::Reference<'b>>) -> R,
+        f: impl FnOnce(Pair<D::Decomposition<'b>, Q::Decomposition<'b>>) -> R,
     ) -> R
     where
         Pair<A, B>: 'b,
@@ -442,15 +433,13 @@
         Pair<A, B>: 'b,
         Self: 'b,
     {
-        self.0.eval_ref_decompose(|a| {
-            self.1
-                .eval_ref_decompose(|b| f(Pair(D::lift(a), Q::lift(b))))
-        })
+        self.0
+            .eval_ref_decompose(|a| self.1.eval_ref_decompose(|b| f(Pair(a, b))))
     }
 
     fn eval_ref_decompose<'b, R>(
         &'b self,
-        f: impl FnOnce(Pair<D::Reference<'b>, Q::Reference<'b>>) -> R,
+        f: impl FnOnce(Pair<D::Decomposition<'b>, Q::Decomposition<'b>>) -> R,
     ) -> R
     where
         Pair<A, B>: 'b,

mercurial