From 1da2d82f5825797670cc8103aaae83d34f53d021 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Sat, 2 Apr 2022 16:14:19 +0200 Subject: [PATCH] internal: outline child modules with missing backing file --- crates/hir_def/src/nameres/collector.rs | 6 ++++++ crates/hir_def/src/nameres/tests.rs | 6 ++++++ crates/hir_def/src/nameres/tests/mod_resolution.rs | 3 +++ 3 files changed, 15 insertions(+) diff --git a/crates/hir_def/src/nameres/collector.rs b/crates/hir_def/src/nameres/collector.rs index 14b26bcf4529..15e93f729a0a 100644 --- a/crates/hir_def/src/nameres/collector.rs +++ b/crates/hir_def/src/nameres/collector.rs @@ -1743,6 +1743,12 @@ impl ModCollector<'_, '_> { } } Err(candidates) => { + self.push_child_module( + module.name.clone(), + ast_id, + None, + &self.item_tree[module.visibility], + ); self.def_collector.def_map.diagnostics.push( DefDiagnostic::unresolved_module(self.module_id, ast_id, candidates), ); diff --git a/crates/hir_def/src/nameres/tests.rs b/crates/hir_def/src/nameres/tests.rs index 479493285574..80e547607148 100644 --- a/crates/hir_def/src/nameres/tests.rs +++ b/crates/hir_def/src/nameres/tests.rs @@ -375,9 +375,12 @@ pub struct Arc; "#, expect![[r#" crate + alloc: t alloc_crate: t sync: t + crate::alloc + crate::sync Arc: t v "#]], @@ -401,9 +404,12 @@ pub struct Arc; "#, expect![[r#" crate + alloc: t alloc_crate: t sync: t + crate::alloc + crate::sync Arc: t v "#]], diff --git a/crates/hir_def/src/nameres/tests/mod_resolution.rs b/crates/hir_def/src/nameres/tests/mod_resolution.rs index 16a2cd27af3a..79a74873b4a4 100644 --- a/crates/hir_def/src/nameres/tests/mod_resolution.rs +++ b/crates/hir_def/src/nameres/tests/mod_resolution.rs @@ -526,6 +526,9 @@ pub struct Baz; "#, expect![[r#" crate + foo: t + + crate::foo "#]], ); }