Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-diagnostics/src/handlers/inactive_code.rs')
-rw-r--r--crates/ide-diagnostics/src/handlers/inactive_code.rs26
1 files changed, 25 insertions, 1 deletions
diff --git a/crates/ide-diagnostics/src/handlers/inactive_code.rs b/crates/ide-diagnostics/src/handlers/inactive_code.rs
index acff811696..1f8f805a1e 100644
--- a/crates/ide-diagnostics/src/handlers/inactive_code.rs
+++ b/crates/ide-diagnostics/src/handlers/inactive_code.rs
@@ -42,7 +42,10 @@ mod tests {
use crate::{tests::check_diagnostics_with_config, DiagnosticsConfig};
pub(crate) fn check(ra_fixture: &str) {
- let config = DiagnosticsConfig::test_sample();
+ let config = DiagnosticsConfig {
+ disabled: std::iter::once("unlinked-file".to_owned()).collect(),
+ ..DiagnosticsConfig::test_sample()
+ };
check_diagnostics_with_config(config, ra_fixture)
}
@@ -171,4 +174,25 @@ union FooBar {
"#,
);
}
+
+ #[test]
+ fn modules() {
+ check(
+ r#"
+//- /main.rs
+ #[cfg(outline)] mod outline;
+//^^^^^^^^^^^^^^^^^^^^^^^^^^^^ weak: code is inactive due to #[cfg] directives: outline is disabled
+
+ mod outline_inner;
+//^^^^^^^^^^^^^^^^^^ weak: code is inactive due to #[cfg] directives: outline_inner is disabled
+
+ #[cfg(inline)] mod inline {}
+//^^^^^^^^^^^^^^^^^^^^^^^^^^^^ weak: code is inactive due to #[cfg] directives: inline is disabled
+
+//- /outline_inner.rs
+#![cfg(outline_inner)]
+//- /outline.rs
+"#,
+ );
+ }
}