diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2017-10-01 13:45:38 +0200 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2017-10-01 13:55:16 +0200 |
commit | 488bd4c22886cc6a0b22787d46c6a57df0a0cf98 (patch) | |
tree | eb2709dfb34f254a63c1c99a31b66b754a97e22e /src/failable/filter.rs | |
parent | da367e8c6c1fc64c6cb37c8234c7018ef18f5a41 (diff) |
Implement FailableFilter for all closures
Diffstat (limited to 'src/failable/filter.rs')
-rw-r--r-- | src/failable/filter.rs | 7 |
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) + } +} + |