about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--compiler/rustc_lint/src/nonstandard_style.rs5
-rw-r--r--tests/ui/lint/lint-non-snake-case-crate-2.stderr11
-rw-r--r--tests/ui/lint/lint-non-snake-case-crate-bin.rs7
-rw-r--r--tests/ui/lint/lint-non-snake-case-crate-bin2.rs (renamed from tests/ui/lint/lint-non-snake-case-crate-2.rs)3
-rw-r--r--tests/ui/lint/lint-non-snake-case-crate-bin3.rs8
-rw-r--r--tests/ui/lint/lint-non-snake-case-crate-cdylib.rs7
-rw-r--r--tests/ui/lint/lint-non-snake-case-crate-cdylib.stderr14
-rw-r--r--tests/ui/lint/lint-non-snake-case-crate-dylib.rs7
-rw-r--r--tests/ui/lint/lint-non-snake-case-crate-dylib.stderr14
-rw-r--r--tests/ui/lint/lint-non-snake-case-crate-lib.rs (renamed from tests/ui/lint/lint-non-snake-case-crate.rs)2
-rw-r--r--tests/ui/lint/lint-non-snake-case-crate-lib.stderr (renamed from tests/ui/lint/lint-non-snake-case-crate.stderr)4
-rw-r--r--tests/ui/lint/lint-non-snake-case-crate-proc-macro.rs7
-rw-r--r--tests/ui/lint/lint-non-snake-case-crate-proc-macro.stderr14
-rw-r--r--tests/ui/lint/lint-non-snake-case-crate-rlib.rs7
-rw-r--r--tests/ui/lint/lint-non-snake-case-crate-rlib.stderr14
-rw-r--r--tests/ui/lint/lint-non-snake-case-crate-staticlib.rs7
-rw-r--r--tests/ui/lint/lint-non-snake-case-crate-staticlib.stderr14
17 files changed, 131 insertions, 14 deletions
diff --git a/compiler/rustc_lint/src/nonstandard_style.rs b/compiler/rustc_lint/src/nonstandard_style.rs
index 4ecd87e37d3..ee863672017 100644
--- a/compiler/rustc_lint/src/nonstandard_style.rs
+++ b/compiler/rustc_lint/src/nonstandard_style.rs
@@ -10,6 +10,7 @@ use rustc_hir::def::{DefKind, Res};
 use rustc_hir::intravisit::FnKind;
 use rustc_hir::{GenericParamKind, PatKind};
 use rustc_middle::ty;
+use rustc_session::config::CrateType;
 use rustc_span::def_id::LocalDefId;
 use rustc_span::symbol::{sym, Ident};
 use rustc_span::{BytePos, Span};
@@ -331,6 +332,10 @@ impl<'tcx> LateLintPass<'tcx> for NonSnakeCase {
             return;
         }
 
+        if cx.tcx.crate_types().iter().all(|&crate_type| crate_type == CrateType::Executable) {
+            return;
+        }
+
         let crate_ident = if let Some(name) = &cx.tcx.sess.opts.crate_name {
             Some(Ident::from_str(name))
         } else {
diff --git a/tests/ui/lint/lint-non-snake-case-crate-2.stderr b/tests/ui/lint/lint-non-snake-case-crate-2.stderr
deleted file mode 100644
index f3207226cd9..00000000000
--- a/tests/ui/lint/lint-non-snake-case-crate-2.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error: crate `NonSnakeCase` should have a snake case name
-   |
-   = help: convert the identifier to snake case: `non_snake_case`
-note: the lint level is defined here
-  --> $DIR/lint-non-snake-case-crate-2.rs:4:9
-   |
-LL | #![deny(non_snake_case)]
-   |         ^^^^^^^^^^^^^^
-
-error: aborting due to 1 previous error
-
diff --git a/tests/ui/lint/lint-non-snake-case-crate-bin.rs b/tests/ui/lint/lint-non-snake-case-crate-bin.rs
new file mode 100644
index 00000000000..f8aad88ecee
--- /dev/null
+++ b/tests/ui/lint/lint-non-snake-case-crate-bin.rs
@@ -0,0 +1,7 @@
+//@ only-x86_64-unknown-linux-gnu
+//@ check-pass
+#![crate_name = "NonSnakeCase"]
+
+#![deny(non_snake_case)]
+
+fn main() {}
diff --git a/tests/ui/lint/lint-non-snake-case-crate-2.rs b/tests/ui/lint/lint-non-snake-case-crate-bin2.rs
index b4b816a5a57..c077d81e9e5 100644
--- a/tests/ui/lint/lint-non-snake-case-crate-2.rs
+++ b/tests/ui/lint/lint-non-snake-case-crate-bin2.rs
@@ -1,5 +1,6 @@
+//@ only-x86_64-unknown-linux-gnu
 //@ compile-flags: --crate-name NonSnakeCase
-//@ error-pattern: crate `NonSnakeCase` should have a snake case name
+//@ check-pass
 
 #![deny(non_snake_case)]
 
diff --git a/tests/ui/lint/lint-non-snake-case-crate-bin3.rs b/tests/ui/lint/lint-non-snake-case-crate-bin3.rs
new file mode 100644
index 00000000000..278f7cfd3ee
--- /dev/null
+++ b/tests/ui/lint/lint-non-snake-case-crate-bin3.rs
@@ -0,0 +1,8 @@
+//@ only-x86_64-unknown-linux-gnu
+//@ check-pass
+#![crate_type = "bin"]
+#![crate_name = "NonSnakeCase"]
+
+#![deny(non_snake_case)]
+
+fn main() {}
diff --git a/tests/ui/lint/lint-non-snake-case-crate-cdylib.rs b/tests/ui/lint/lint-non-snake-case-crate-cdylib.rs
new file mode 100644
index 00000000000..781c6794fc2
--- /dev/null
+++ b/tests/ui/lint/lint-non-snake-case-crate-cdylib.rs
@@ -0,0 +1,7 @@
+//@ only-x86_64-unknown-linux-gnu
+#![crate_type = "cdylib"]
+#![crate_name = "NonSnakeCase"]
+//~^ ERROR crate `NonSnakeCase` should have a snake case name
+#![deny(non_snake_case)]
+
+fn main() {}
diff --git a/tests/ui/lint/lint-non-snake-case-crate-cdylib.stderr b/tests/ui/lint/lint-non-snake-case-crate-cdylib.stderr
new file mode 100644
index 00000000000..f9167aa8df3
--- /dev/null
+++ b/tests/ui/lint/lint-non-snake-case-crate-cdylib.stderr
@@ -0,0 +1,14 @@
+error: crate `NonSnakeCase` should have a snake case name
+  --> $DIR/lint-non-snake-case-crate-cdylib.rs:3:18
+   |
+LL | #![crate_name = "NonSnakeCase"]
+   |                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `non_snake_case`
+   |
+note: the lint level is defined here
+  --> $DIR/lint-non-snake-case-crate-cdylib.rs:5:9
+   |
+LL | #![deny(non_snake_case)]
+   |         ^^^^^^^^^^^^^^
+
+error: aborting due to 1 previous error
+
diff --git a/tests/ui/lint/lint-non-snake-case-crate-dylib.rs b/tests/ui/lint/lint-non-snake-case-crate-dylib.rs
new file mode 100644
index 00000000000..3f65295f068
--- /dev/null
+++ b/tests/ui/lint/lint-non-snake-case-crate-dylib.rs
@@ -0,0 +1,7 @@
+//@ only-x86_64-unknown-linux-gnu
+#![crate_type = "dylib"]
+#![crate_name = "NonSnakeCase"]
+//~^ ERROR crate `NonSnakeCase` should have a snake case name
+#![deny(non_snake_case)]
+
+fn main() {}
diff --git a/tests/ui/lint/lint-non-snake-case-crate-dylib.stderr b/tests/ui/lint/lint-non-snake-case-crate-dylib.stderr
new file mode 100644
index 00000000000..4ee1a9cb3dd
--- /dev/null
+++ b/tests/ui/lint/lint-non-snake-case-crate-dylib.stderr
@@ -0,0 +1,14 @@
+error: crate `NonSnakeCase` should have a snake case name
+  --> $DIR/lint-non-snake-case-crate-dylib.rs:3:18
+   |
+LL | #![crate_name = "NonSnakeCase"]
+   |                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `non_snake_case`
+   |
+note: the lint level is defined here
+  --> $DIR/lint-non-snake-case-crate-dylib.rs:5:9
+   |
+LL | #![deny(non_snake_case)]
+   |         ^^^^^^^^^^^^^^
+
+error: aborting due to 1 previous error
+
diff --git a/tests/ui/lint/lint-non-snake-case-crate.rs b/tests/ui/lint/lint-non-snake-case-crate-lib.rs
index e4e84261a4e..20c58e66aa6 100644
--- a/tests/ui/lint/lint-non-snake-case-crate.rs
+++ b/tests/ui/lint/lint-non-snake-case-crate-lib.rs
@@ -1,3 +1,5 @@
+//@ only-x86_64-unknown-linux-gnu
+#![crate_type = "lib"]
 #![crate_name = "NonSnakeCase"]
 //~^ ERROR crate `NonSnakeCase` should have a snake case name
 #![deny(non_snake_case)]
diff --git a/tests/ui/lint/lint-non-snake-case-crate.stderr b/tests/ui/lint/lint-non-snake-case-crate-lib.stderr
index 1136b707d59..a68c0e832b8 100644
--- a/tests/ui/lint/lint-non-snake-case-crate.stderr
+++ b/tests/ui/lint/lint-non-snake-case-crate-lib.stderr
@@ -1,11 +1,11 @@
 error: crate `NonSnakeCase` should have a snake case name
-  --> $DIR/lint-non-snake-case-crate.rs:1:18
+  --> $DIR/lint-non-snake-case-crate-lib.rs:3:18
    |
 LL | #![crate_name = "NonSnakeCase"]
    |                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `non_snake_case`
    |
 note: the lint level is defined here
-  --> $DIR/lint-non-snake-case-crate.rs:3:9
+  --> $DIR/lint-non-snake-case-crate-lib.rs:5:9
    |
 LL | #![deny(non_snake_case)]
    |         ^^^^^^^^^^^^^^
diff --git a/tests/ui/lint/lint-non-snake-case-crate-proc-macro.rs b/tests/ui/lint/lint-non-snake-case-crate-proc-macro.rs
new file mode 100644
index 00000000000..f0f2fa4393e
--- /dev/null
+++ b/tests/ui/lint/lint-non-snake-case-crate-proc-macro.rs
@@ -0,0 +1,7 @@
+//@ only-x86_64-unknown-linux-gnu
+#![crate_type = "proc-macro"]
+#![crate_name = "NonSnakeCase"]
+//~^ ERROR crate `NonSnakeCase` should have a snake case name
+#![deny(non_snake_case)]
+
+fn main() {}
diff --git a/tests/ui/lint/lint-non-snake-case-crate-proc-macro.stderr b/tests/ui/lint/lint-non-snake-case-crate-proc-macro.stderr
new file mode 100644
index 00000000000..e0091057bc9
--- /dev/null
+++ b/tests/ui/lint/lint-non-snake-case-crate-proc-macro.stderr
@@ -0,0 +1,14 @@
+error: crate `NonSnakeCase` should have a snake case name
+  --> $DIR/lint-non-snake-case-crate-proc-macro.rs:3:18
+   |
+LL | #![crate_name = "NonSnakeCase"]
+   |                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `non_snake_case`
+   |
+note: the lint level is defined here
+  --> $DIR/lint-non-snake-case-crate-proc-macro.rs:5:9
+   |
+LL | #![deny(non_snake_case)]
+   |         ^^^^^^^^^^^^^^
+
+error: aborting due to 1 previous error
+
diff --git a/tests/ui/lint/lint-non-snake-case-crate-rlib.rs b/tests/ui/lint/lint-non-snake-case-crate-rlib.rs
new file mode 100644
index 00000000000..1a558def3d0
--- /dev/null
+++ b/tests/ui/lint/lint-non-snake-case-crate-rlib.rs
@@ -0,0 +1,7 @@
+//@ only-x86_64-unknown-linux-gnu
+#![crate_type = "rlib"]
+#![crate_name = "NonSnakeCase"]
+//~^ ERROR crate `NonSnakeCase` should have a snake case name
+#![deny(non_snake_case)]
+
+fn main() {}
diff --git a/tests/ui/lint/lint-non-snake-case-crate-rlib.stderr b/tests/ui/lint/lint-non-snake-case-crate-rlib.stderr
new file mode 100644
index 00000000000..6e9d54bd5bc
--- /dev/null
+++ b/tests/ui/lint/lint-non-snake-case-crate-rlib.stderr
@@ -0,0 +1,14 @@
+error: crate `NonSnakeCase` should have a snake case name
+  --> $DIR/lint-non-snake-case-crate-rlib.rs:3:18
+   |
+LL | #![crate_name = "NonSnakeCase"]
+   |                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `non_snake_case`
+   |
+note: the lint level is defined here
+  --> $DIR/lint-non-snake-case-crate-rlib.rs:5:9
+   |
+LL | #![deny(non_snake_case)]
+   |         ^^^^^^^^^^^^^^
+
+error: aborting due to 1 previous error
+
diff --git a/tests/ui/lint/lint-non-snake-case-crate-staticlib.rs b/tests/ui/lint/lint-non-snake-case-crate-staticlib.rs
new file mode 100644
index 00000000000..2ec53c15eb8
--- /dev/null
+++ b/tests/ui/lint/lint-non-snake-case-crate-staticlib.rs
@@ -0,0 +1,7 @@
+//@ only-x86_64-unknown-linux-gnu
+#![crate_type = "staticlib"]
+#![crate_name = "NonSnakeCase"]
+//~^ ERROR crate `NonSnakeCase` should have a snake case name
+#![deny(non_snake_case)]
+
+fn main() {}
diff --git a/tests/ui/lint/lint-non-snake-case-crate-staticlib.stderr b/tests/ui/lint/lint-non-snake-case-crate-staticlib.stderr
new file mode 100644
index 00000000000..4ee6d5bd4d4
--- /dev/null
+++ b/tests/ui/lint/lint-non-snake-case-crate-staticlib.stderr
@@ -0,0 +1,14 @@
+error: crate `NonSnakeCase` should have a snake case name
+  --> $DIR/lint-non-snake-case-crate-staticlib.rs:3:18
+   |
+LL | #![crate_name = "NonSnakeCase"]
+   |                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `non_snake_case`
+   |
+note: the lint level is defined here
+  --> $DIR/lint-non-snake-case-crate-staticlib.rs:5:9
+   |
+LL | #![deny(non_snake_case)]
+   |         ^^^^^^^^^^^^^^
+
+error: aborting due to 1 previous error
+