diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2016-07-04 20:04:38 +0200 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2016-07-04 20:04:38 +0200 |
commit | 2cd511c0c19267a93348e5a20823307e96781ad3 (patch) | |
tree | b6b38a2f4a73d8fa4d22d28e8c63413377370a09 /libimagentrylist | |
parent | d7f22020e62a874a3c22326e773cf3f3e5864ee2 (diff) |
Make CoreLister generic
Diffstat (limited to 'libimagentrylist')
-rw-r--r-- | libimagentrylist/src/listers/core.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libimagentrylist/src/listers/core.rs b/libimagentrylist/src/listers/core.rs index 50913258..f2f83eea 100644 --- a/libimagentrylist/src/listers/core.rs +++ b/libimagentrylist/src/listers/core.rs @@ -7,21 +7,21 @@ use result::Result; use libimagstore::store::FileLockEntry; use libimagstore::store::Entry; -pub struct CoreLister<'a> { - lister: &'a Fn(&Entry) -> String, +pub struct CoreLister<T: Fn(&Entry) -> String> { + lister: Box<T>, } -impl<'a> CoreLister<'a> { +impl<T: Fn(&Entry) -> String> CoreLister<T> { - pub fn new(lister: &'a Fn(&Entry) -> String) -> CoreLister<'a> { + pub fn new(lister: T) -> CoreLister<T> { CoreLister { - lister: lister, + lister: Box::new(lister), } } } -impl<'a> Lister for CoreLister<'a> { +impl<T: Fn(&Entry) -> String> Lister for CoreLister<T> { fn list<'b, I: Iterator<Item = FileLockEntry<'b>>>(&self, entries: I) -> Result<()> { use error::ListError as LE; |