From a691f6d8b70beed4cf2bb5f716b1e6d75ce788ed Mon Sep 17 00:00:00 2001 From: timofey Date: Thu, 27 Apr 2023 04:50:49 +0000 Subject: [PATCH] CovariantFunctor for CompositionClass --- src/func/classes/composition.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/func/classes/composition.rs b/src/func/classes/composition.rs index fbcb62c..c614de7 100644 --- a/src/func/classes/composition.rs +++ b/src/func/classes/composition.rs @@ -166,3 +166,14 @@ impl SharedFunctor for Composition U::fmap(V::unshare, U::unshare(sa)) } } + +impl CovariantFunctor + for CompositionClass +{ + fn variate<'a: 'b, 'b, A: 'a>(fa: Self::F<'a, A>) -> Self::F<'b, A> + where + Self: 'a, + { + U::fmap(V::variate, U::variate(fa)) + } +}