summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2017-10-01 13:45:38 +0200
committerMatthias Beyer <mail@beyermatthias.de>2017-10-01 13:55:16 +0200
commit488bd4c22886cc6a0b22787d46c6a57df0a0cf98 (patch)
treeeb2709dfb34f254a63c1c99a31b66b754a97e22e
parentda367e8c6c1fc64c6cb37c8234c7018ef18f5a41 (diff)
Implement FailableFilter for all closures
-rw-r--r--src/failable/filter.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/failable/filter.rs b/src/failable/filter.rs
index c611c86..d2fc51c 100644
--- a/src/failable/filter.rs
+++ b/src/failable/filter.rs
@@ -248,3 +248,10 @@ pub trait FailableFilter<N, E: Error> {
}
+/// All closures that take a ref to something and return Result<bool, E> are failable filters
+impl<I, E: Error, T: Fn(&I) -> Result<bool, E>> FailableFilter<I, E> for T {
+ fn filter(&self, other: &I) -> Result<bool, E>{
+ self(other)
+ }
+}
+