Auto merge of #85732 - Smittyvb:trait-alias-camelcase-lint, r=varkor

Lint against non-CamelCase trait alias names

Type aliases are linted as such, so (unstable) trait aliases should be treated the same way.
This commit is contained in:
bors 2021-05-27 10:42:01 +00:00
commit 8d1e3d3b74
3 changed files with 19 additions and 0 deletions

View File

@ -176,6 +176,7 @@ impl EarlyLintPass for NonCamelCaseTypes {
| ast::ItemKind::Struct(..)
| ast::ItemKind::Union(..) => self.check_case(cx, "type", &it.ident),
ast::ItemKind::Trait(..) => self.check_case(cx, "trait", &it.ident),
ast::ItemKind::TraitAlias(..) => self.check_case(cx, "trait alias", &it.ident),
_ => (),
}
}

View File

@ -0,0 +1,8 @@
// check-pass
#![feature(trait_alias)]
trait Foo = std::fmt::Display + std::fmt::Debug;
trait bar = std::fmt::Display + std::fmt::Debug; //~WARN trait alias `bar` should have an upper camel case name
fn main() {}

View File

@ -0,0 +1,10 @@
warning: trait alias `bar` should have an upper camel case name
--> $DIR/style_lint.rs:6:7
|
LL | trait bar = std::fmt::Display + std::fmt::Debug;
| ^^^ help: convert the identifier to upper camel case: `Bar`
|
= note: `#[warn(non_camel_case_types)]` on by default
warning: 1 warning emitted