Refactor: use filter_map when iterating over stored IDs and
This commit is contained in:
@@ -139,12 +139,11 @@ impl Vfs {
|
|||||||
///
|
///
|
||||||
/// This will skip deleted files.
|
/// This will skip deleted files.
|
||||||
pub fn iter(&self) -> impl Iterator<Item = (FileId, &VfsPath)> + '_ {
|
pub fn iter(&self) -> impl Iterator<Item = (FileId, &VfsPath)> + '_ {
|
||||||
(0..self.data.len())
|
(0..self.data.len()).filter_map(move |it| {
|
||||||
.map(|it| FileId(it as u32))
|
let file_id = FileId(it as u32);
|
||||||
.filter(move |&file_id| self.get(file_id).is_some())
|
let _ = self.get(file_id).as_ref()?;
|
||||||
.map(move |file_id| {
|
|
||||||
let path = self.interner.lookup(file_id);
|
let path = self.interner.lookup(file_id);
|
||||||
(file_id, path)
|
Some((file_id, path))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user