aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/module_tree.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-01-10 13:45:09 +0000
committerAleksey Kladov <[email protected]>2019-01-10 13:45:09 +0000
commit32fa084c07375c7a596e0bfceddbef1830ae23e7 (patch)
tree367522218a1dd58880fa187419c22d37bd035324 /crates/ra_hir/src/module_tree.rs
parentaca14c591fea40b2f803bbf5f02c1571732348fb (diff)
introduce marking infrastructure for maintainable tests
This also fixes a particular edge case in name resolution.
Diffstat (limited to 'crates/ra_hir/src/module_tree.rs')
-rw-r--r--crates/ra_hir/src/module_tree.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/crates/ra_hir/src/module_tree.rs b/crates/ra_hir/src/module_tree.rs
index d2c92f150..50383c6d8 100644
--- a/crates/ra_hir/src/module_tree.rs
+++ b/crates/ra_hir/src/module_tree.rs
@@ -14,7 +14,7 @@ use ra_arena::{Arena, RawId, impl_arena_id};
14use crate::{Name, AsName, HirDatabase, SourceItemId, HirFileId, Problem, SourceFileItems, ModuleSource}; 14use crate::{Name, AsName, HirDatabase, SourceItemId, HirFileId, Problem, SourceFileItems, ModuleSource};
15 15
16impl ModuleSource { 16impl ModuleSource {
17 pub fn from_source_item_id( 17 pub(crate) fn from_source_item_id(
18 db: &impl HirDatabase, 18 db: &impl HirDatabase,
19 source_item_id: SourceItemId, 19 source_item_id: SourceItemId,
20 ) -> ModuleSource { 20 ) -> ModuleSource {
@@ -217,6 +217,10 @@ fn modules(root: &impl ast::ModuleItemOwner) -> impl Iterator<Item = (Name, &ast
217 }) 217 })
218 .filter_map(|module| { 218 .filter_map(|module| {
219 let name = module.name()?.as_name(); 219 let name = module.name()?.as_name();
220 if !module.has_semi() && module.item_list().is_none() {
221 tested_by!(name_res_works_for_broken_modules);
222 return None;
223 }
220 Some((name, module)) 224 Some((name, module))
221 }) 225 })
222} 226}