aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api/src/references/classify.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_ide_api/src/references/classify.rs')
-rw-r--r--crates/ra_ide_api/src/references/classify.rs13
1 files changed, 10 insertions, 3 deletions
diff --git a/crates/ra_ide_api/src/references/classify.rs b/crates/ra_ide_api/src/references/classify.rs
index 93e079ccc..ac9cf34eb 100644
--- a/crates/ra_ide_api/src/references/classify.rs
+++ b/crates/ra_ide_api/src/references/classify.rs
@@ -31,9 +31,16 @@ pub(crate) fn classify_name(
31 Some(from_struct_field(db, field)) 31 Some(from_struct_field(db, field))
32 }, 32 },
33 ast::Module(it) => { 33 ast::Module(it) => {
34 let ast = hir::ModuleSource::Module(it); 34 let def = {
35 let src = hir::Source { file_id, ast }; 35 if !it.has_semi() {
36 let def = hir::Module::from_definition(db, src)?; 36 let ast = hir::ModuleSource::Module(it);
37 let src = hir::Source { file_id, ast };
38 hir::Module::from_definition(db, src)
39 } else {
40 let src = hir::Source { file_id, ast: it };
41 hir::Module::from_declaration(db, src)
42 }
43 }?;
37 Some(from_module_def(db, def.into(), None)) 44 Some(from_module_def(db, def.into(), None))
38 }, 45 },
39 ast::StructDef(it) => { 46 ast::StructDef(it) => {