Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-diagnostics/src/handlers/unused_variables.rs')
-rw-r--r--crates/ide-diagnostics/src/handlers/unused_variables.rs40
1 files changed, 40 insertions, 0 deletions
diff --git a/crates/ide-diagnostics/src/handlers/unused_variables.rs b/crates/ide-diagnostics/src/handlers/unused_variables.rs
index b7ec8fa53f..52a2f44fd0 100644
--- a/crates/ide-diagnostics/src/handlers/unused_variables.rs
+++ b/crates/ide-diagnostics/src/handlers/unused_variables.rs
@@ -390,4 +390,44 @@ fn f(S { field }: error) {
"#,
);
}
+
+ #[test]
+ fn crate_attrs_lint_smoke_test() {
+ check_diagnostics(
+ r#"
+//- /lib.rs crate:foo crate-attr:deny(unused_variables)
+fn main() {
+ let x = 2;
+ //^ 💡 error: unused variable
+}
+"#,
+ );
+ }
+
+ #[test]
+ fn crate_attrs_should_not_override_lints_in_source() {
+ check_diagnostics(
+ r#"
+//- /lib.rs crate:foo crate-attr:allow(unused_variables)
+#![deny(unused_variables)]
+fn main() {
+ let x = 2;
+ //^ 💡 error: unused variable
+}
+"#,
+ );
+ }
+
+ #[test]
+ fn crate_attrs_should_preserve_lint_order() {
+ check_diagnostics(
+ r#"
+//- /lib.rs crate:foo crate-attr:allow(unused_variables) crate-attr:warn(unused_variables)
+fn main() {
+ let x = 2;
+ //^ 💡 warn: unused variable
+}
+"#,
+ );
+ }
}