aboutsummaryrefslogtreecommitdiff
path: root/crates
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-03-23 18:17:05 +0000
committerAleksey Kladov <[email protected]>2019-03-25 07:52:50 +0000
commit45fbab2b1ac02dab971d245c45c2404494cb3e03 (patch)
tree48da9b98751914bd2f93e388be382733932315d7 /crates
parent79df62bc742afa33dcf5bedefd60860ca296b9da (diff)
check impls as well
Diffstat (limited to 'crates')
-rw-r--r--crates/ra_hir/src/nameres.rs2
-rw-r--r--crates/ra_ide_api/src/diagnostics.rs9
2 files changed, 10 insertions, 1 deletions
diff --git a/crates/ra_hir/src/nameres.rs b/crates/ra_hir/src/nameres.rs
index 56ed872d5..cdf502368 100644
--- a/crates/ra_hir/src/nameres.rs
+++ b/crates/ra_hir/src/nameres.rs
@@ -192,7 +192,7 @@ impl CrateDefMap {
192 CrateDefMap { 192 CrateDefMap {
193 krate, 193 krate,
194 edition, 194 edition,
195 extern_prelude: FxHashMap::default(), 195 xextern_prelude: FxHashMap::default(),
196 prelude: None, 196 prelude: None,
197 root, 197 root,
198 modules, 198 modules,
diff --git a/crates/ra_ide_api/src/diagnostics.rs b/crates/ra_ide_api/src/diagnostics.rs
index 1395cede2..e03dcaa8f 100644
--- a/crates/ra_ide_api/src/diagnostics.rs
+++ b/crates/ra_ide_api/src/diagnostics.rs
@@ -138,6 +138,15 @@ fn check_module(acc: &mut Vec<Diagnostic>, db: &RootDatabase, module: hir::Modul
138 } 138 }
139 } 139 }
140 140
141 for impl_block in module.impl_blocks(db) {
142 for item in impl_block.items(db) {
143 match item {
144 hir::ImplItem::Method(f) => f.diagnostics(db, &mut diagnostics),
145 _ => (),
146 }
147 }
148 }
149
141 for d in diagnostics.into_diagnostics().iter() { 150 for d in diagnostics.into_diagnostics().iter() {
142 if let Some(d) = d.downcast_ref::<hir::diagnostics::UnresolvedModule>() { 151 if let Some(d) = d.downcast_ref::<hir::diagnostics::UnresolvedModule>() {
143 let source_root = db.file_source_root(d.file().original_file(db)); 152 let source_root = db.file_source_root(d.file().original_file(db));