diff options
author | Aleksey Kladov <[email protected]> | 2018-12-18 13:38:05 +0000 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2018-12-20 09:15:38 +0000 |
commit | a422d480a188a28c6b5e7862fbf07817eb2c7447 (patch) | |
tree | d2a1945e49d1728f210c29ae8e88bffef19d22b7 /crates/ra_vfs/src/arena.rs | |
parent | e69b05781f7fb0f0dfdcd4acb433dbcde9cbb7b7 (diff) |
implement vfs events handling
Diffstat (limited to 'crates/ra_vfs/src/arena.rs')
-rw-r--r-- | crates/ra_vfs/src/arena.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/crates/ra_vfs/src/arena.rs b/crates/ra_vfs/src/arena.rs index d6fad753b..6b42ae26d 100644 --- a/crates/ra_vfs/src/arena.rs +++ b/crates/ra_vfs/src/arena.rs | |||
@@ -1,5 +1,4 @@ | |||
1 | use std::{ | 1 | use std::{ |
2 | hash::{Hash, Hasher}, | ||
3 | marker::PhantomData, | 2 | marker::PhantomData, |
4 | ops::{Index, IndexMut}, | 3 | ops::{Index, IndexMut}, |
5 | }; | 4 | }; |
@@ -21,6 +20,12 @@ impl<ID: ArenaId, T> Arena<ID, T> { | |||
21 | self.data.push(value); | 20 | self.data.push(value); |
22 | ID::from_u32(id) | 21 | ID::from_u32(id) |
23 | } | 22 | } |
23 | pub fn iter<'a>(&'a self) -> impl Iterator<Item = (ID, &'a T)> { | ||
24 | self.data | ||
25 | .iter() | ||
26 | .enumerate() | ||
27 | .map(|(idx, value)| (ID::from_u32(idx as u32), value)) | ||
28 | } | ||
24 | } | 29 | } |
25 | 30 | ||
26 | impl<ID: ArenaId, T> Default for Arena<ID, T> { | 31 | impl<ID: ArenaId, T> Default for Arena<ID, T> { |