check impls as well

This commit is contained in:
Aleksey Kladov 2019-03-23 21:17:05 +03:00
parent 79df62bc74
commit 45fbab2b1a
2 changed files with 10 additions and 1 deletions

View file

@ -192,7 +192,7 @@ impl CrateDefMap {
CrateDefMap { CrateDefMap {
krate, krate,
edition, edition,
extern_prelude: FxHashMap::default(), xextern_prelude: FxHashMap::default(),
prelude: None, prelude: None,
root, root,
modules, modules,

View file

@ -138,6 +138,15 @@ fn check_module(acc: &mut Vec<Diagnostic>, db: &RootDatabase, module: hir::Modul
} }
} }
for impl_block in module.impl_blocks(db) {
for item in impl_block.items(db) {
match item {
hir::ImplItem::Method(f) => f.diagnostics(db, &mut diagnostics),
_ => (),
}
}
}
for d in diagnostics.into_diagnostics().iter() { for d in diagnostics.into_diagnostics().iter() {
if let Some(d) = d.downcast_ref::<hir::diagnostics::UnresolvedModule>() { if let Some(d) = d.downcast_ref::<hir::diagnostics::UnresolvedModule>() {
let source_root = db.file_source_root(d.file().original_file(db)); let source_root = db.file_source_root(d.file().original_file(db));