aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/nameres/mod_resolution.rs
diff options
context:
space:
mode:
authorgfreezy <[email protected]>2019-09-20 16:20:43 +0100
committergfreezy <[email protected]>2019-09-20 16:20:43 +0100
commit6a4cf48bffb739c3657443ae308fc0c91215d4d3 (patch)
treee299a39410eb38b740c5b1cc432f9b2d8577c2f6 /crates/ra_hir/src/nameres/mod_resolution.rs
parentb19da133eec13ac8943b708d17410e3a8a6b6193 (diff)
fix module attr path
Diffstat (limited to 'crates/ra_hir/src/nameres/mod_resolution.rs')
-rw-r--r--crates/ra_hir/src/nameres/mod_resolution.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/crates/ra_hir/src/nameres/mod_resolution.rs b/crates/ra_hir/src/nameres/mod_resolution.rs
index a9e9eb9e6..3aa32bd66 100644
--- a/crates/ra_hir/src/nameres/mod_resolution.rs
+++ b/crates/ra_hir/src/nameres/mod_resolution.rs
@@ -23,6 +23,7 @@ impl<'a> ParentModule<'a> {
23pub(super) fn resolve_submodule( 23pub(super) fn resolve_submodule(
24 db: &impl DefDatabase, 24 db: &impl DefDatabase,
25 file_id: HirFileId, 25 file_id: HirFileId,
26 mod_attr_path: Option<&SmolStr>,
26 name: &Name, 27 name: &Name,
27 is_root: bool, 28 is_root: bool,
28 attr_path: Option<&SmolStr>, 29 attr_path: Option<&SmolStr>,
@@ -80,7 +81,7 @@ pub(super) fn resolve_submodule(
80 ResolutionMode::OutOfLine(OutOfLineMode::WithAttributePath(path)) 81 ResolutionMode::OutOfLine(OutOfLineMode::WithAttributePath(path))
81 } 82 }
82 (None, None) => { 83 (None, None) => {
83 let is_dir_owner = is_root || mod_name == "mod"; 84 let is_dir_owner = is_root || mod_name == "mod" || mod_attr_path.is_some();
84 if is_dir_owner { 85 if is_dir_owner {
85 let file_mod = dir_path.join(format!("{}.rs", name)); 86 let file_mod = dir_path.join(format!("{}.rs", name));
86 let dir_mod = dir_path.join(format!("{}/mod.rs", name)); 87 let dir_mod = dir_path.join(format!("{}/mod.rs", name));