]> git.lizzy.rs Git - rust.git/commitdiff
Restore crate_def_map marks
authorAleksey Kladov <aleksey.kladov@gmail.com>
Sun, 3 Nov 2019 20:44:23 +0000 (23:44 +0300)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Sun, 3 Nov 2019 20:44:23 +0000 (23:44 +0300)
crates/ra_hir_def/src/lib.rs
crates/ra_hir_def/src/marks.rs [new file with mode: 0644]
crates/ra_hir_def/src/nameres.rs
crates/ra_hir_def/src/nameres/collector.rs
crates/ra_hir_def/src/nameres/raw.rs
crates/ra_hir_def/src/nameres/tests.rs
crates/ra_hir_def/src/nameres/tests/globs.rs
crates/ra_hir_def/src/nameres/tests/macros.rs
crates/ra_hir_def/src/nameres/tests/mod_resolution.rs

index 02bd808fc2178975362abc1ee2ca5ff0c9c0fd85..63ed2a09833b77180a07e9fde83fa1abd9520c8e 100644 (file)
@@ -17,6 +17,8 @@
 
 #[cfg(test)]
 mod test_db;
+#[cfg(test)]
+mod marks;
 
 // FIXME: this should be private
 pub mod nameres;
diff --git a/crates/ra_hir_def/src/marks.rs b/crates/ra_hir_def/src/marks.rs
new file mode 100644 (file)
index 0000000..0b99eac
--- /dev/null
@@ -0,0 +1,14 @@
+//! See test_utils/src/marks.rs
+
+test_utils::marks!(
+    bogus_paths
+    name_res_works_for_broken_modules
+    can_import_enum_variant
+    glob_enum
+    glob_across_crates
+    std_prelude
+    macro_rules_from_other_crates_are_visible_with_macro_use
+    prelude_is_macro_use
+    macro_dollar_crate_self
+    macro_dollar_crate_other
+);
index b3640da3d764a024a02ee725e6bdb8a4d6512f26..b5c682219349a6a16a7ccd3165f50adb6eb1460b 100644 (file)
@@ -18,7 +18,7 @@
 use ra_prof::profile;
 use ra_syntax::ast;
 use rustc_hash::{FxHashMap, FxHashSet};
-// use test_utils::tested_by;
+use test_utils::tested_by;
 
 use crate::{
     builtin_type::BuiltinType,
@@ -263,12 +263,12 @@ fn resolve_path_fp_with_macro(
         let mut curr_per_ns: PerNs = match path.kind {
             PathKind::DollarCrate(krate) => {
                 if krate == self.krate {
-                    // tested_by!(macro_dollar_crate_self);
+                    tested_by!(macro_dollar_crate_self);
                     PerNs::types(ModuleId { krate: self.krate, module_id: self.root }.into())
                 } else {
                     let def_map = db.crate_def_map(krate);
                     let module = ModuleId { krate, module_id: def_map.root };
-                    // tested_by!(macro_dollar_crate_other);
+                    tested_by!(macro_dollar_crate_other);
                     PerNs::types(module.into())
                 }
             }
@@ -369,7 +369,7 @@ fn resolve_path_fp_with_macro(
                 }
                 ModuleDefId::AdtId(AdtId::EnumId(e)) => {
                     // enum variant
-                    // tested_by!(can_import_enum_variant);
+                    tested_by!(can_import_enum_variant);
                     let enum_data = db.enum_data(e);
                     match enum_data.variant(&segment.name) {
                         Some(local_id) => {
index 0bc36910c3f0c4ff756b663c1f1ebe462491b0b3..3b61d9895bc3024817d9e1f87a1c964915ca570c 100644 (file)
@@ -8,7 +8,7 @@
 use ra_db::{CrateId, FileId};
 use ra_syntax::{ast, SmolStr};
 use rustc_hash::FxHashMap;
-// use test_utils::tested_by;
+use test_utils::tested_by;
 
 use crate::{
     attr::Attr,
@@ -218,7 +218,7 @@ fn import_macros_from_extern_crate(
         );
 
         if let Some(ModuleDefId::ModuleId(m)) = res.take_types() {
-            // tested_by!(macro_rules_from_other_crates_are_visible_with_macro_use);
+            tested_by!(macro_rules_from_other_crates_are_visible_with_macro_use);
             self.import_all_macros_exported(current_module_id, m.krate);
         }
     }
@@ -294,10 +294,10 @@ fn record_resolved_import(
             match def.take_types() {
                 Some(ModuleDefId::ModuleId(m)) => {
                     if import.is_prelude {
-                        // tested_by!(std_prelude);
+                        tested_by!(std_prelude);
                         self.def_map.prelude = Some(m);
                     } else if m.krate != self.def_map.krate {
-                        // tested_by!(glob_across_crates);
+                        tested_by!(glob_across_crates);
                         // glob import from other crate => we can just import everything once
                         let item_map = self.db.crate_def_map(m.krate);
                         let scope = &item_map[m.module_id].scope;
@@ -332,7 +332,7 @@ fn record_resolved_import(
                     }
                 }
                 Some(ModuleDefId::AdtId(AdtId::EnumId(e))) => {
-                    // tested_by!(glob_enum);
+                    tested_by!(glob_enum);
                     // glob import from enum => just import all the variants
                     let enum_data = self.db.enum_data(e);
                     let resolutions = enum_data
@@ -373,8 +373,7 @@ fn record_resolved_import(
                     let resolution = Resolution { def, import: Some(import_id) };
                     self.update(module_id, Some(import_id), &[(name, resolution)]);
                 }
-                // tested_by!(bogus_paths),
-                None => (),
+                None => tested_by!(bogus_paths),
             }
         }
     }
@@ -534,7 +533,7 @@ fn collect(&mut self, items: &[raw::RawItem]) {
         // Prelude module is always considered to be `#[macro_use]`.
         if let Some(prelude_module) = self.def_collector.def_map.prelude {
             if prelude_module.krate != self.def_collector.def_map.krate {
-                // tested_by!(prelude_is_macro_use);
+                tested_by!(prelude_is_macro_use);
                 self.def_collector.import_all_macros_exported(self.module_id, prelude_module.krate);
             }
         }
index 86c05d6028e72c9171ea11d44e93ef7150699a7f..cb47fa317d2d07a01f8555143a16ce3cfa5df076 100644 (file)
@@ -14,6 +14,7 @@
     ast::{self, AttrsOwner, NameOwner},
     AstNode, AstPtr, SourceFile,
 };
+use test_utils::tested_by;
 
 use crate::{attr::Attr, db::DefDatabase2, path::Path, FileAstId, HirFileId, ModuleSource, Source};
 
@@ -297,8 +298,7 @@ fn add_module(&mut self, current_module: Option<Module>, module: ast::Module) {
             self.push_item(current_module, attrs, RawItemKind::Module(item));
             return;
         }
-        // FIXME: restore this mark once we complete hir splitting
-        // tested_by!(name_res_works_for_broken_modules);
+        tested_by!(name_res_works_for_broken_modules);
     }
 
     fn add_use_item(&mut self, current_module: Option<Module>, use_item: ast::UseItem) {
index f9a8edd43c3c07056ee651541f3533852248dcfc..52bd0aa91e8ce7ada8188c8e1a1ed545329b0301 100644 (file)
@@ -8,7 +8,7 @@
 
 use insta::assert_snapshot;
 use ra_db::{fixture::WithFixture, SourceDatabase};
-// use test_utils::covers;
+use test_utils::covers;
 
 use crate::{db::DefDatabase2, nameres::*, test_db::TestDB, CrateModuleId};
 
@@ -104,7 +104,7 @@ enum E { V }
 
 #[test]
 fn bogus_paths() {
-    // covers!(bogus_paths);
+    covers!(bogus_paths);
     let map = def_map(
         "
         //- /lib.rs
@@ -219,7 +219,7 @@ fn re_exports() {
 
 #[test]
 fn std_prelude() {
-    // covers!(std_prelude);
+    covers!(std_prelude);
     let map = def_map(
         "
         //- /main.rs crate:main deps:test_crate
@@ -243,7 +243,7 @@ fn std_prelude() {
 
 #[test]
 fn can_import_enum_variant() {
-    // covers!(can_import_enum_variant);
+    covers!(can_import_enum_variant);
     let map = def_map(
         "
         //- /lib.rs
index cf4a2a851841ec6e20a4c76b06fd23d012582d73..5b03fe36504a46cc2475be629188112c06e545b4 100644 (file)
@@ -75,7 +75,7 @@ fn glob_2() {
 
 #[test]
 fn glob_across_crates() {
-    // covers!(glob_across_crates);
+    covers!(glob_across_crates);
     let map = def_map(
         "
         //- /main.rs crate:main deps:test_crate
@@ -94,7 +94,7 @@ fn glob_across_crates() {
 
 #[test]
 fn glob_enum() {
-    // covers!(glob_enum);
+    covers!(glob_enum);
     let map = def_map(
         "
         //- /lib.rs
index 9bb3895ad6a52334db8b6f71fc199240d17af60c..704065633a5f329a0cb6a6b050e5b5918fc74a6b 100644 (file)
@@ -175,7 +175,7 @@ macro_rules! bar {
 
 #[test]
 fn macro_rules_from_other_crates_are_visible_with_macro_use() {
-    // covers!(macro_rules_from_other_crates_are_visible_with_macro_use);
+    covers!(macro_rules_from_other_crates_are_visible_with_macro_use);
     let map = def_map(
         "
         //- /main.rs crate:main deps:foo
@@ -225,7 +225,7 @@ macro_rules! structs_priv {
 
 #[test]
 fn prelude_is_macro_use() {
-    // covers!(prelude_is_macro_use);
+    covers!(prelude_is_macro_use);
     let map = def_map(
         "
         //- /main.rs crate:main deps:foo
@@ -507,8 +507,8 @@ macro_rules! bar {
 
 #[test]
 fn macro_dollar_crate_is_correct_in_item() {
-    // covers!(macro_dollar_crate_self);
-    // covers!(macro_dollar_crate_other);
+    covers!(macro_dollar_crate_self);
+    covers!(macro_dollar_crate_other);
     let map = def_map(
         "
         //- /main.rs crate:main deps:foo
@@ -566,7 +566,7 @@ macro_rules! not_current2 {
 
 #[test]
 fn macro_dollar_crate_is_correct_in_indirect_deps() {
-    // covers!(macro_dollar_crate_other);
+    covers!(macro_dollar_crate_other);
     // From std
     let map = def_map(
         r#"
index 8d804a63e8b454e315757fee2fb567c87d85ff2b..dee364a1422fb975ba5462d30385780e43944327 100644 (file)
@@ -2,7 +2,7 @@
 
 #[test]
 fn name_res_works_for_broken_modules() {
-    // covers!(name_res_works_for_broken_modules);
+    covers!(name_res_works_for_broken_modules);
     let map = def_map(
         "
         //- /lib.rs