about summary refs log tree commit diff
path: root/crates/hir-def/src/nameres.rs
diff options
context:
space:
mode:
authorRyo Yoshida <low.ryoshida@gmail.com>2023-05-17 17:45:44 +0900
committerRyo Yoshida <low.ryoshida@gmail.com>2023-05-17 17:45:44 +0900
commit68a74decb683929f59588e07636e44c40434d6bc (patch)
treea74e8867c342840dec9a1875cb53360195dbe850 /crates/hir-def/src/nameres.rs
parent2f8cd66fb4c98026d2bdbdf17270e3472e1ca42a (diff)
downloadrust-68a74decb683929f59588e07636e44c40434d6bc.tar.gz
rust-68a74decb683929f59588e07636e44c40434d6bc.zip
Process `macro_use` prelude in semantic scope resolver
Diffstat (limited to 'crates/hir-def/src/nameres.rs')
-rw-r--r--crates/hir-def/src/nameres.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/crates/hir-def/src/nameres.rs b/crates/hir-def/src/nameres.rs
index 39a56814ed8..176637f9d0d 100644
--- a/crates/hir-def/src/nameres.rs
+++ b/crates/hir-def/src/nameres.rs
@@ -355,8 +355,12 @@ impl DefMap {
         self.prelude
     }
 
-    pub(crate) fn extern_prelude(&self) -> impl Iterator<Item = (&Name, &ModuleId)> + '_ {
-        self.extern_prelude.iter()
+    pub(crate) fn extern_prelude(&self) -> impl Iterator<Item = (&Name, ModuleId)> + '_ {
+        self.extern_prelude.iter().map(|(name, def)| (name, *def))
+    }
+
+    pub(crate) fn macro_use_prelude(&self) -> impl Iterator<Item = (&Name, MacroId)> + '_ {
+        self.macro_use_prelude.iter().map(|(name, def)| (name, *def))
     }
 
     pub fn module_id(&self, local_id: LocalModuleId) -> ModuleId {