diff --git a/CHANGELOG.md b/CHANGELOG.md index 1713fda03..606f16061 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -760,6 +760,7 @@ All notable changes to this project will be documented in this file. [`mistyped_literal_suffixes`]: https://rust-lang.github.io/rust-clippy/master/index.html#mistyped_literal_suffixes [`mixed_case_hex_literals`]: https://rust-lang.github.io/rust-clippy/master/index.html#mixed_case_hex_literals [`module_inception`]: https://rust-lang.github.io/rust-clippy/master/index.html#module_inception +[`module_name_repetitions`]: https://rust-lang.github.io/rust-clippy/master/index.html#module_name_repetitions [`modulo_one`]: https://rust-lang.github.io/rust-clippy/master/index.html#modulo_one [`multiple_crate_versions`]: https://rust-lang.github.io/rust-clippy/master/index.html#multiple_crate_versions [`multiple_inherent_impl`]: https://rust-lang.github.io/rust-clippy/master/index.html#multiple_inherent_impl @@ -850,7 +851,6 @@ All notable changes to this project will be documented in this file. [`string_extend_chars`]: https://rust-lang.github.io/rust-clippy/master/index.html#string_extend_chars [`string_lit_as_bytes`]: https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [`string_to_string`]: https://rust-lang.github.io/rust-clippy/master/index.html#string_to_string -[`stutter`]: https://rust-lang.github.io/rust-clippy/master/index.html#stutter [`suspicious_arithmetic_impl`]: https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [`suspicious_assignment_formatting`]: https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_assignment_formatting [`suspicious_else_formatting`]: https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting diff --git a/clippy_lints/src/enum_variants.rs b/clippy_lints/src/enum_variants.rs index ae87c4273..c6142a168 100644 --- a/clippy_lints/src/enum_variants.rs +++ b/clippy_lints/src/enum_variants.rs @@ -75,7 +75,7 @@ declare_clippy_lint! { /// } /// ``` declare_clippy_lint! { - pub STUTTER, + pub MODULE_NAME_REPETITIONS, pedantic, "type names prefixed/postfixed with their containing module's name" } @@ -126,7 +126,12 @@ impl EnumVariantNames { impl LintPass for EnumVariantNames { fn get_lints(&self) -> LintArray { - lint_array!(ENUM_VARIANT_NAMES, PUB_ENUM_VARIANT_NAMES, STUTTER, MODULE_INCEPTION) + lint_array!( + ENUM_VARIANT_NAMES, + PUB_ENUM_VARIANT_NAMES, + MODULE_NAME_REPETITIONS, + MODULE_INCEPTION + ) } } @@ -277,7 +282,7 @@ impl EarlyLintPass for EnumVariantNames { match item_camel.chars().nth(nchars) { Some(c) if is_word_beginning(c) => span_lint( cx, - STUTTER, + MODULE_NAME_REPETITIONS, item.span, "item name starts with its containing module's name", ), @@ -287,7 +292,7 @@ impl EarlyLintPass for EnumVariantNames { if rmatching == nchars { span_lint( cx, - STUTTER, + MODULE_NAME_REPETITIONS, item.span, "item name ends with its containing module's name", ); diff --git a/clippy_lints/src/lib.rs b/clippy_lints/src/lib.rs index f4b5edee8..8ce5861a9 100644 --- a/clippy_lints/src/lib.rs +++ b/clippy_lints/src/lib.rs @@ -517,8 +517,8 @@ pub fn register_plugins(reg: &mut rustc_plugin::Registry<'_>, conf: &Conf) { doc::DOC_MARKDOWN, empty_enum::EMPTY_ENUM, enum_glob_use::ENUM_GLOB_USE, + enum_variants::MODULE_NAME_REPETITIONS, enum_variants::PUB_ENUM_VARIANT_NAMES, - enum_variants::STUTTER, if_not_else::IF_NOT_ELSE, infinite_iter::MAYBE_INFINITE_ITER, items_after_statements::ITEMS_AFTER_STATEMENTS, @@ -1030,6 +1030,10 @@ pub fn register_plugins(reg: &mut rustc_plugin::Registry<'_>, conf: &Conf) { ]); } +pub fn register_renamed(ls: &mut rustc::lint::LintStore) { + ls.register_renamed("clippy::stutter", "clippy::module_name_repetitions"); +} + // only exists to let the dogfood integration test works. // Don't run clippy as an executable directly #[allow(dead_code)] diff --git a/src/driver.rs b/src/driver.rs index 6b327d082..0df2d8988 100644 --- a/src/driver.rs +++ b/src/driver.rs @@ -110,6 +110,7 @@ pub fn main() { ls.register_group(Some(sess), true, name, deprecated_name, to); } clippy_lints::register_pre_expansion_lints(sess, &mut ls, &conf); + clippy_lints::register_renamed(&mut ls); sess.plugin_llvm_passes.borrow_mut().extend(llvm_passes); sess.plugin_attributes.borrow_mut().extend(attributes); diff --git a/tests/ui/stutter.rs b/tests/ui/module_name_repetitions.rs similarity index 94% rename from tests/ui/stutter.rs rename to tests/ui/module_name_repetitions.rs index 922487d67..4db4f56de 100644 --- a/tests/ui/stutter.rs +++ b/tests/ui/module_name_repetitions.rs @@ -7,7 +7,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![warn(clippy::stutter)] +#![warn(clippy::module_name_repetitions)] #![allow(dead_code)] mod foo { diff --git a/tests/ui/stutter.stderr b/tests/ui/module_name_repetitions.stderr similarity index 69% rename from tests/ui/stutter.stderr rename to tests/ui/module_name_repetitions.stderr index 8c2d1d432..e2eca64ba 100644 --- a/tests/ui/stutter.stderr +++ b/tests/ui/module_name_repetitions.stderr @@ -1,31 +1,31 @@ error: item name starts with its containing module's name - --> $DIR/stutter.rs:15:5 + --> $DIR/module_name_repetitions.rs:15:5 | 15 | pub fn foo_bar() {} | ^^^^^^^^^^^^^^^^^^^ | - = note: `-D clippy::stutter` implied by `-D warnings` + = note: `-D clippy::module-name-repetitions` implied by `-D warnings` error: item name ends with its containing module's name - --> $DIR/stutter.rs:16:5 + --> $DIR/module_name_repetitions.rs:16:5 | 16 | pub fn bar_foo() {} | ^^^^^^^^^^^^^^^^^^^ error: item name starts with its containing module's name - --> $DIR/stutter.rs:17:5 + --> $DIR/module_name_repetitions.rs:17:5 | 17 | pub struct FooCake {} | ^^^^^^^^^^^^^^^^^^^^^ error: item name ends with its containing module's name - --> $DIR/stutter.rs:18:5 + --> $DIR/module_name_repetitions.rs:18:5 | 18 | pub enum CakeFoo {} | ^^^^^^^^^^^^^^^^^^^ error: item name starts with its containing module's name - --> $DIR/stutter.rs:19:5 + --> $DIR/module_name_repetitions.rs:19:5 | 19 | pub struct Foo7Bar; | ^^^^^^^^^^^^^^^^^^^ diff --git a/tests/ui/rename.rs b/tests/ui/rename.rs new file mode 100644 index 000000000..8d76a2d45 --- /dev/null +++ b/tests/ui/rename.rs @@ -0,0 +1,13 @@ +// Copyright 2014-2018 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#![allow(stutter)] + +#[warn(clippy::stutter)] +fn main() {} diff --git a/tests/ui/rename.stderr b/tests/ui/rename.stderr new file mode 100644 index 000000000..7ad8228fb --- /dev/null +++ b/tests/ui/rename.stderr @@ -0,0 +1,18 @@ +error: unknown lint: `stutter` + --> $DIR/rename.rs:10:10 + | +10 | #![allow(stutter)] + | ^^^^^^^ + | + = note: `-D unknown-lints` implied by `-D warnings` + +error: lint `clippy::stutter` has been renamed to `clippy::module_name_repetitions` + --> $DIR/rename.rs:12:8 + | +12 | #[warn(clippy::stutter)] + | ^^^^^^^^^^^^^^^ help: use the new name: `clippy::module_name_repetitions` + | + = note: `-D renamed-and-removed-lints` implied by `-D warnings` + +error: aborting due to 2 previous errors +