summaryrefslogtreecommitdiffstats
path: root/src/options.rs
diff options
context:
space:
mode:
authorBen S <ogham@bsago.me>2015-02-04 15:47:52 +0000
committerBen S <ogham@bsago.me>2015-02-04 15:47:52 +0000
commit2be30f36f271cefe82a599228d6a4c5e708e85b8 (patch)
treee58c497f48e376bf04adea06a32888aa9e80ee9a /src/options.rs
parent8f36dbbc6f44077fed0bc78ff7fcb04ade3cc061 (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.rs8
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
}
}