summaryrefslogtreecommitdiff
path: root/receme/src
diff options
context:
space:
mode:
authorJSDurand <mmemmew@gmail.com>2022-12-14 23:48:22 +0800
committerJSDurand <mmemmew@gmail.com>2022-12-14 23:48:22 +0800
commit9f1c88b863e247da3cd60d2792a7a13b18e25e53 (patch)
treed29c0e19793a88a1de6898fdfd2a376fca21378f /receme/src
parentcb7bcfad4ab0041aaf3fde3185e27ee46bb37788 (diff)
a temporary check point
just to save things in a commit
Diffstat (limited to 'receme/src')
-rw-r--r--receme/src/functor.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/receme/src/functor.rs b/receme/src/functor.rs
index 95e2555..cd4dac2 100644
--- a/receme/src/functor.rs
+++ b/receme/src/functor.rs
@@ -31,6 +31,14 @@ pub trait Functor<T> {
fn fmap<S>(self, f: impl FnMut(T) -> S) -> Self::Target<S>;
}
+impl<T> Functor<T> for Vec<T> {
+ type Target<S> = Vec<S>;
+
+ fn fmap<S>(self, f: impl FnMut(T) -> S) -> Self::Target<S> {
+ self.into_iter().map(f).collect()
+ }
+}
+
/// A functor can map over its generic type parameter.
///
/// It can map from Functor(T) to Functor(S).