diff options
Diffstat (limited to 'crates/ra_hir_def/src/item_scope.rs')
-rw-r--r-- | crates/ra_hir_def/src/item_scope.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/crates/ra_hir_def/src/item_scope.rs b/crates/ra_hir_def/src/item_scope.rs index e8ddcc3c2..b0288ee8d 100644 --- a/crates/ra_hir_def/src/item_scope.rs +++ b/crates/ra_hir_def/src/item_scope.rs | |||
@@ -51,6 +51,12 @@ impl ItemScope { | |||
51 | self.visible.iter().chain(BUILTIN_SCOPE.iter()).map(|(n, def)| (n, *def)) | 51 | self.visible.iter().chain(BUILTIN_SCOPE.iter()).map(|(n, def)| (n, *def)) |
52 | } | 52 | } |
53 | 53 | ||
54 | pub fn entries_without_primitives<'a>( | ||
55 | &'a self, | ||
56 | ) -> impl Iterator<Item = (&'a Name, PerNs)> + 'a { | ||
57 | self.visible.iter().map(|(n, def)| (n, *def)) | ||
58 | } | ||
59 | |||
54 | pub fn declarations(&self) -> impl Iterator<Item = ModuleDefId> + '_ { | 60 | pub fn declarations(&self) -> impl Iterator<Item = ModuleDefId> + '_ { |
55 | self.defs.iter().copied() | 61 | self.defs.iter().copied() |
56 | } | 62 | } |
@@ -118,7 +124,7 @@ impl ItemScope { | |||
118 | self.legacy_macros.insert(name, mac); | 124 | self.legacy_macros.insert(name, mac); |
119 | } | 125 | } |
120 | 126 | ||
121 | pub(crate) fn push_res(&mut self, name: Name, def: &PerNs) -> bool { | 127 | pub(crate) fn push_res(&mut self, name: Name, def: PerNs) -> bool { |
122 | let mut changed = false; | 128 | let mut changed = false; |
123 | let existing = self.visible.entry(name.clone()).or_default(); | 129 | let existing = self.visible.entry(name.clone()).or_default(); |
124 | 130 | ||