Refactor: use filter_map
when iterating over stored IDs and
This commit is contained in:
parent
e912d6507f
commit
0765c9713b
@ -139,13 +139,12 @@ pub fn file_contents(&self, file_id: FileId) -> &[u8] {
|
||||
///
|
||||
/// This will skip deleted files.
|
||||
pub fn iter(&self) -> impl Iterator<Item = (FileId, &VfsPath)> + '_ {
|
||||
(0..self.data.len())
|
||||
.map(|it| FileId(it as u32))
|
||||
.filter(move |&file_id| self.get(file_id).is_some())
|
||||
.map(move |file_id| {
|
||||
let path = self.interner.lookup(file_id);
|
||||
(file_id, path)
|
||||
})
|
||||
(0..self.data.len()).filter_map(move |it| {
|
||||
let file_id = FileId(it as u32);
|
||||
let _ = self.get(file_id).as_ref()?;
|
||||
let path = self.interner.lookup(file_id);
|
||||
Some((file_id, path))
|
||||
})
|
||||
}
|
||||
|
||||
/// Update the `path` with the given `contents`. `None` means the file was deleted.
|
||||
|
Loading…
Reference in New Issue
Block a user