about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYuki Okushi <huyuumi.dev@gmail.com>2020-01-07 13:46:13 +0900
committerGitHub <noreply@github.com>2020-01-07 13:46:13 +0900
commitb065031096a6e26df985a96cc98f0e5cdfc1c6e1 (patch)
treeec33e04b19714d88c48e4fa11583c07e27cc9f31
parent1e7a6a8b5c6783fa25cff6b785b816f5306af880 (diff)
parenta7727c59ac0b80fbbd7b3ab045260727ab64ce21 (diff)
downloadrust-b065031096a6e26df985a96cc98f0e5cdfc1c6e1.tar.gz
rust-b065031096a6e26df985a96cc98f0e5cdfc1c6e1.zip
Rollup merge of #67936 - euclio:assoc-type-bad-style, r=Centril
fire "non_camel_case_types" for associated types

Fixes #67920.
-rw-r--r--src/librustc_lint/nonstandard_style.rs6
-rw-r--r--src/test/ui/issues/issue-17732.rs1
-rw-r--r--src/test/ui/issues/issue-35600.rs2
-rw-r--r--src/test/ui/lint/lint-non-camel-case-types.rs1
-rw-r--r--src/test/ui/lint/lint-non-camel-case-types.stderr10
5 files changed, 18 insertions, 2 deletions
diff --git a/src/librustc_lint/nonstandard_style.rs b/src/librustc_lint/nonstandard_style.rs
index 6df2740bee8..d50c0483010 100644
--- a/src/librustc_lint/nonstandard_style.rs
+++ b/src/librustc_lint/nonstandard_style.rs
@@ -143,6 +143,12 @@ impl EarlyLintPass for NonCamelCaseTypes {
         }
     }
 
+    fn check_trait_item(&mut self, cx: &EarlyContext<'_>, it: &ast::AssocItem) {
+        if let ast::AssocItemKind::TyAlias(..) = it.kind {
+            self.check_case(cx, "associated type", &it.ident);
+        }
+    }
+
     fn check_variant(&mut self, cx: &EarlyContext<'_>, v: &ast::Variant) {
         self.check_case(cx, "variant", &v.ident);
     }
diff --git a/src/test/ui/issues/issue-17732.rs b/src/test/ui/issues/issue-17732.rs
index 5e11fc4fcfb..8f63d5baef8 100644
--- a/src/test/ui/issues/issue-17732.rs
+++ b/src/test/ui/issues/issue-17732.rs
@@ -1,5 +1,6 @@
 // check-pass
 #![allow(dead_code)]
+#![allow(non_camel_case_types)]
 // pretty-expanded FIXME #23616
 
 trait Person {
diff --git a/src/test/ui/issues/issue-35600.rs b/src/test/ui/issues/issue-35600.rs
index 9d74726d279..f0bab6010d7 100644
--- a/src/test/ui/issues/issue-35600.rs
+++ b/src/test/ui/issues/issue-35600.rs
@@ -1,5 +1,7 @@
 // run-pass
+#![allow(non_camel_case_types)]
 #![allow(unused_variables)]
+
 trait Foo {
     type bar;
     fn bar();
diff --git a/src/test/ui/lint/lint-non-camel-case-types.rs b/src/test/ui/lint/lint-non-camel-case-types.rs
index d3b119a9441..acd5c5df9e8 100644
--- a/src/test/ui/lint/lint-non-camel-case-types.rs
+++ b/src/test/ui/lint/lint-non-camel-case-types.rs
@@ -23,6 +23,7 @@ enum Foo5 {
 }
 
 trait foo6 { //~ ERROR trait `foo6` should have an upper camel case name
+    type foo7; //~ ERROR associated type `foo7` should have an upper camel case name
     fn dummy(&self) { }
 }
 
diff --git a/src/test/ui/lint/lint-non-camel-case-types.stderr b/src/test/ui/lint/lint-non-camel-case-types.stderr
index 177f8c8fe9b..f82eefed436 100644
--- a/src/test/ui/lint/lint-non-camel-case-types.stderr
+++ b/src/test/ui/lint/lint-non-camel-case-types.stderr
@@ -46,11 +46,17 @@ error: trait `foo6` should have an upper camel case name
 LL | trait foo6 {
    |       ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Foo6`
 
+error: associated type `foo7` should have an upper camel case name
+  --> $DIR/lint-non-camel-case-types.rs:26:10
+   |
+LL |     type foo7;
+   |          ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Foo7`
+
 error: type parameter `ty` should have an upper camel case name
-  --> $DIR/lint-non-camel-case-types.rs:29:6
+  --> $DIR/lint-non-camel-case-types.rs:30:6
    |
 LL | fn f<ty>(_: ty) {}
    |      ^^ help: convert the identifier to upper camel case: `Ty`
 
-error: aborting due to 8 previous errors
+error: aborting due to 9 previous errors