From ad254f4c972b7a211fe2ebae4ecea47a79d02d9b Mon Sep 17 00:00:00 2001 From: Jonas Schievink Date: Wed, 27 Jan 2021 19:16:29 +0100 Subject: Fix legacy macro resolution in block expressions --- crates/hir_def/src/nameres/collector.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'crates/hir_def/src/nameres') diff --git a/crates/hir_def/src/nameres/collector.rs b/crates/hir_def/src/nameres/collector.rs index 393170b32..761b29c86 100644 --- a/crates/hir_def/src/nameres/collector.rs +++ b/crates/hir_def/src/nameres/collector.rs @@ -1443,7 +1443,10 @@ impl ModCollector<'_, '_> { if let Some(macro_call_id) = ast_id.as_call_id(self.def_collector.db, self.def_collector.def_map.krate, |path| { path.as_ident().and_then(|name| { - self.def_collector.def_map[self.module_id].scope.get_legacy_macro(&name) + self.def_collector + .def_map + .ancestor_maps(self.module_id) + .find_map(|(map, module)| map[module].scope.get_legacy_macro(&name)) }) }) { -- cgit v1.2.3