From cd9659ffcee35ade2148162a9b77f8d74656d43e Mon Sep 17 00:00:00 2001 From: Jonas Schievink Date: Tue, 2 Feb 2021 12:25:13 +0100 Subject: Use the right `DefMap` when looking up modules --- crates/hir_def/src/nameres/path_resolution.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'crates/hir_def/src/nameres/path_resolution.rs') diff --git a/crates/hir_def/src/nameres/path_resolution.rs b/crates/hir_def/src/nameres/path_resolution.rs index 2a0f8ec2b..2d1477160 100644 --- a/crates/hir_def/src/nameres/path_resolution.rs +++ b/crates/hir_def/src/nameres/path_resolution.rs @@ -271,8 +271,16 @@ impl DefMap { ); } + let def_map; + let module_data = if module.block == self.block_id() { + &self[module.local_id] + } else { + def_map = module.def_map(db); + &def_map[module.local_id] + }; + // Since it is a qualified path here, it should not contains legacy macros - self[module.local_id].scope.get(&segment) + module_data.scope.get(&segment) } ModuleDefId::AdtId(AdtId::EnumId(e)) => { // enum variant -- cgit v1.2.3