]> git.lizzy.rs Git - rust.git/commitdiff
Update `original_module` when ascending `DefMap`s
authorJonas Schievink <jonasschievink@gmail.com>
Thu, 28 Jan 2021 17:27:27 +0000 (18:27 +0100)
committerJonas Schievink <jonasschievink@gmail.com>
Thu, 28 Jan 2021 17:27:27 +0000 (18:27 +0100)
crates/hir_def/src/nameres/path_resolution.rs

index 419e465ed8fb27cb83b960db0739e205ed581c29..2a0f8ec2bc856db477a52d9dce40f85e10d186bd 100644 (file)
@@ -103,7 +103,7 @@ pub(super) fn resolve_path_fp_with_macro(
         &self,
         db: &dyn DefDatabase,
         mode: ResolveMode,
-        original_module: LocalModuleId,
+        mut original_module: LocalModuleId,
         path: &ModPath,
         shadow: BuiltinShadowMode,
     ) -> ResolvePathResult {
@@ -130,7 +130,10 @@ pub(super) fn resolve_path_fp_with_macro(
             result.segment_index = result.segment_index.min(new.segment_index);
 
             match &current_map.block {
-                Some(block) => current_map = &block.parent,
+                Some(block) => {
+                    current_map = &block.parent;
+                    original_module = block.parent_module;
+                }
                 None => return result,
             }
         }