From 32fa084c07375c7a596e0bfceddbef1830ae23e7 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 10 Jan 2019 16:45:09 +0300 Subject: introduce marking infrastructure for maintainable tests This also fixes a particular edge case in name resolution. --- crates/ra_hir/src/nameres/tests.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'crates/ra_hir/src/nameres/tests.rs') diff --git a/crates/ra_hir/src/nameres/tests.rs b/crates/ra_hir/src/nameres/tests.rs index 17de54b44..ba9fcb3d1 100644 --- a/crates/ra_hir/src/nameres/tests.rs +++ b/crates/ra_hir/src/nameres/tests.rs @@ -136,6 +136,35 @@ fn re_exports() { ); } +#[test] +fn name_res_works_for_broken_modules() { + covers!(name_res_works_for_broken_modules); + let (item_map, module_id) = item_map( + " + //- /lib.rs + mod foo // no `;`, no body + + use self::foo::Baz; + <|> + + //- /foo/mod.rs + pub mod bar; + + pub use self::bar::Baz; + + //- /foo/bar.rs + pub struct Baz; + ", + ); + check_module_item_map( + &item_map, + module_id, + " + Baz: _ + ", + ); +} + #[test] fn item_map_contains_items_from_expansions() { let (item_map, module_id) = item_map( -- cgit v1.2.3