aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/nameres/collector.rs
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2019-09-20 16:45:58 +0100
committerGitHub <[email protected]>2019-09-20 16:45:58 +0100
commit0492b18ed47115c630cf3490fcdf904155f6e496 (patch)
tree534255fd111da9af89ebe19a8f6df886783155b1 /crates/ra_hir/src/nameres/collector.rs
parent24ac228c395681e600b0a7034bd332458af9ce8c (diff)
parent6a4cf48bffb739c3657443ae308fc0c91215d4d3 (diff)
Merge #1883
1883: Fix path attribute causing false "unresolved module" error for submodules r=matklad a=gfreezy fixed #1880 Co-authored-by: gfreezy <[email protected]>
Diffstat (limited to 'crates/ra_hir/src/nameres/collector.rs')
-rw-r--r--crates/ra_hir/src/nameres/collector.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/crates/ra_hir/src/nameres/collector.rs b/crates/ra_hir/src/nameres/collector.rs
index a6b9b41d0..6b253ac40 100644
--- a/crates/ra_hir/src/nameres/collector.rs
+++ b/crates/ra_hir/src/nameres/collector.rs
@@ -1,5 +1,5 @@
1use ra_db::FileId; 1use ra_db::FileId;
2use ra_syntax::ast; 2use ra_syntax::{ast, SmolStr};
3use rustc_hash::FxHashMap; 3use rustc_hash::FxHashMap;
4use test_utils::tested_by; 4use test_utils::tested_by;
5 5
@@ -98,6 +98,7 @@ where
98 self.def_map.modules[module_id].definition = Some(file_id); 98 self.def_map.modules[module_id].definition = Some(file_id);
99 ModCollector { 99 ModCollector {
100 def_collector: &mut *self, 100 def_collector: &mut *self,
101 attr_path: None,
101 module_id, 102 module_id,
102 file_id: file_id.into(), 103 file_id: file_id.into(),
103 raw_items: &raw_items, 104 raw_items: &raw_items,
@@ -474,6 +475,7 @@ where
474 ModCollector { 475 ModCollector {
475 def_collector: &mut *self, 476 def_collector: &mut *self,
476 file_id, 477 file_id,
478 attr_path: None,
477 module_id, 479 module_id,
478 raw_items: &raw_items, 480 raw_items: &raw_items,
479 parent_module: None, 481 parent_module: None,
@@ -497,6 +499,7 @@ struct ModCollector<'a, D> {
497 def_collector: D, 499 def_collector: D,
498 module_id: CrateModuleId, 500 module_id: CrateModuleId,
499 file_id: HirFileId, 501 file_id: HirFileId,
502 attr_path: Option<&'a SmolStr>,
500 raw_items: &'a raw::RawItems, 503 raw_items: &'a raw::RawItems,
501 parent_module: Option<ParentModule<'a>>, 504 parent_module: Option<ParentModule<'a>>,
502} 505}
@@ -551,6 +554,7 @@ where
551 ModCollector { 554 ModCollector {
552 def_collector: &mut *self.def_collector, 555 def_collector: &mut *self.def_collector,
553 module_id, 556 module_id,
557 attr_path: attr_path.as_ref(),
554 file_id: self.file_id, 558 file_id: self.file_id,
555 raw_items: self.raw_items, 559 raw_items: self.raw_items,
556 parent_module: Some(parent_module), 560 parent_module: Some(parent_module),
@@ -567,6 +571,7 @@ where
567 match resolve_submodule( 571 match resolve_submodule(
568 self.def_collector.db, 572 self.def_collector.db,
569 self.file_id, 573 self.file_id,
574 self.attr_path,
570 name, 575 name,
571 is_root, 576 is_root,
572 attr_path.as_ref(), 577 attr_path.as_ref(),
@@ -578,6 +583,7 @@ where
578 ModCollector { 583 ModCollector {
579 def_collector: &mut *self.def_collector, 584 def_collector: &mut *self.def_collector,
580 module_id, 585 module_id,
586 attr_path: attr_path.as_ref(),
581 file_id: file_id.into(), 587 file_id: file_id.into(),
582 raw_items: &raw_items, 588 raw_items: &raw_items,
583 parent_module: None, 589 parent_module: None,