diff options
author | Ben S <ogham@bsago.me> | 2015-02-04 15:47:52 +0000 |
---|---|---|
committer | Ben S <ogham@bsago.me> | 2015-02-04 15:47:52 +0000 |
commit | 2be30f36f271cefe82a599228d6a4c5e708e85b8 (patch) | |
tree | e58c497f48e376bf04adea06a32888aa9e80ee9a /src/options.rs | |
parent | 8f36dbbc6f44077fed0bc78ff7fcb04ade3cc061 (diff) |
Make transform_files stateful
Using `retain` instead of `filter` means we can just re-use the same Vec.
Diffstat (limited to 'src/options.rs')
-rw-r--r-- | src/options.rs | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/options.rs b/src/options.rs index 43dcb96..ba0ff59 100644 --- a/src/options.rs +++ b/src/options.rs @@ -80,7 +80,7 @@ impl Options { }) } - pub fn transform_files<'a>(&self, files: Vec<File<'a>>) -> Vec<File<'a>> { + pub fn transform_files<'a>(&self, files: &mut Vec<File<'a>>) { self.filter.transform_files(files) } @@ -92,10 +92,10 @@ impl Options { impl FileFilter { /// Transform the files (sorting, reversing, filtering) before listing them. - pub fn transform_files<'a>(&self, mut files: Vec<File<'a>>) -> Vec<File<'a>> { + pub fn transform_files<'a>(&self, files: &mut Vec<File<'a>>) { if !self.show_invisibles { - files = files.into_iter().filter(|f| !f.is_dotfile()).collect(); + files.retain(|f| !f.is_dotfile()); } match self.sort_field { @@ -116,8 +116,6 @@ impl FileFilter { if self.reverse { files.reverse(); } - - files } } |