aboutsummaryrefslogtreecommitdiff
path: root/crates/vfs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2020-07-14 14:57:10 +0100
committerAleksey Kladov <[email protected]>2020-07-14 14:57:10 +0100
commitdc2094cfa5b15bb5b915c5f1ba81535e45d0af22 (patch)
treed818819843fb2611e71da676aed25e269da64491 /crates/vfs
parentebb4d29d694f60f746a2b7b43980ba89cc9dc807 (diff)
Minor, push allocations down
Diffstat (limited to 'crates/vfs')
-rw-r--r--crates/vfs/src/file_set.rs2
-rw-r--r--crates/vfs/src/lib.rs4
2 files changed, 3 insertions, 3 deletions
diff --git a/crates/vfs/src/file_set.rs b/crates/vfs/src/file_set.rs
index 37c479306..e5e2ef530 100644
--- a/crates/vfs/src/file_set.rs
+++ b/crates/vfs/src/file_set.rs
@@ -62,7 +62,7 @@ impl FileSetConfig {
62 let mut res = vec![FileSet::default(); self.len()]; 62 let mut res = vec![FileSet::default(); self.len()];
63 for (file_id, path) in vfs.iter() { 63 for (file_id, path) in vfs.iter() {
64 let root = self.classify(&path, &mut scratch_space); 64 let root = self.classify(&path, &mut scratch_space);
65 res[root].insert(file_id, path) 65 res[root].insert(file_id, path.clone())
66 } 66 }
67 res 67 res
68 } 68 }
diff --git a/crates/vfs/src/lib.rs b/crates/vfs/src/lib.rs
index 3bfecd08f..cdf6f1fd0 100644
--- a/crates/vfs/src/lib.rs
+++ b/crates/vfs/src/lib.rs
@@ -90,12 +90,12 @@ impl Vfs {
90 pub fn file_contents(&self, file_id: FileId) -> &[u8] { 90 pub fn file_contents(&self, file_id: FileId) -> &[u8] {
91 self.get(file_id).as_deref().unwrap() 91 self.get(file_id).as_deref().unwrap()
92 } 92 }
93 pub fn iter(&self) -> impl Iterator<Item = (FileId, VfsPath)> + '_ { 93 pub fn iter(&self) -> impl Iterator<Item = (FileId, &VfsPath)> + '_ {
94 (0..self.data.len()) 94 (0..self.data.len())
95 .map(|it| FileId(it as u32)) 95 .map(|it| FileId(it as u32))
96 .filter(move |&file_id| self.get(file_id).is_some()) 96 .filter(move |&file_id| self.get(file_id).is_some())
97 .map(move |file_id| { 97 .map(move |file_id| {
98 let path = self.interner.lookup(file_id).clone(); 98 let path = self.interner.lookup(file_id);
99 (file_id, path) 99 (file_id, path)
100 }) 100 })
101 } 101 }