Update lint deprecation for tool lints

Our lint deprecation previously didn't work for tool lints, because
`register_removed` was registering lints to be removed _without_ the
`clippy` prefix.
This commit is contained in:
Philipp Hansch 2019-08-09 07:50:25 +02:00
parent c154754b74
commit 5114050839
No known key found for this signature in database
GPG key ID: 82AA61CAA11397E6
4 changed files with 38 additions and 37 deletions

View file

@ -126,7 +126,7 @@ pub fn gen_deprecated(lints: &[Lint]) -> Vec<String> {
l.clone().deprecation.and_then(|depr_text| { l.clone().deprecation.and_then(|depr_text| {
Some(vec![ Some(vec![
" store.register_removed(".to_string(), " store.register_removed(".to_string(),
format!(" \"{}\",", l.name), format!(" \"clippy::{}\",", l.name),
format!(" \"{}\",", depr_text), format!(" \"{}\",", depr_text),
" );".to_string(), " );".to_string(),
]) ])
@ -442,11 +442,11 @@ fn test_gen_deprecated() {
]; ];
let expected: Vec<String> = vec![ let expected: Vec<String> = vec![
" store.register_removed(", " store.register_removed(",
" \"should_assert_eq\",", " \"clippy::should_assert_eq\",",
" \"has been superseded by should_assert_eq2\",", " \"has been superseded by should_assert_eq2\",",
" );", " );",
" store.register_removed(", " store.register_removed(",
" \"another_deprecated\",", " \"clippy::another_deprecated\",",
" \"will be removed\",", " \"will be removed\",",
" );", " );",
] ]

View file

@ -386,47 +386,47 @@ pub fn register_plugins(reg: &mut rustc_plugin::Registry<'_>, conf: &Conf) {
let mut store = reg.sess.lint_store.borrow_mut(); let mut store = reg.sess.lint_store.borrow_mut();
// begin deprecated lints, do not remove this comment, its used in `update_lints` // begin deprecated lints, do not remove this comment, its used in `update_lints`
store.register_removed( store.register_removed(
"should_assert_eq", "clippy::should_assert_eq",
"`assert!()` will be more flexible with RFC 2011", "`assert!()` will be more flexible with RFC 2011",
); );
store.register_removed( store.register_removed(
"extend_from_slice", "clippy::extend_from_slice",
"`.extend_from_slice(_)` is a faster way to extend a Vec by a slice", "`.extend_from_slice(_)` is a faster way to extend a Vec by a slice",
); );
store.register_removed( store.register_removed(
"range_step_by_zero", "clippy::range_step_by_zero",
"`iterator.step_by(0)` panics nowadays", "`iterator.step_by(0)` panics nowadays",
); );
store.register_removed( store.register_removed(
"unstable_as_slice", "clippy::unstable_as_slice",
"`Vec::as_slice` has been stabilized in 1.7", "`Vec::as_slice` has been stabilized in 1.7",
); );
store.register_removed( store.register_removed(
"unstable_as_mut_slice", "clippy::unstable_as_mut_slice",
"`Vec::as_mut_slice` has been stabilized in 1.7", "`Vec::as_mut_slice` has been stabilized in 1.7",
); );
store.register_removed( store.register_removed(
"str_to_string", "clippy::str_to_string",
"using `str::to_string` is common even today and specialization will likely happen soon", "using `str::to_string` is common even today and specialization will likely happen soon",
); );
store.register_removed( store.register_removed(
"string_to_string", "clippy::string_to_string",
"using `string::to_string` is common even today and specialization will likely happen soon", "using `string::to_string` is common even today and specialization will likely happen soon",
); );
store.register_removed( store.register_removed(
"misaligned_transmute", "clippy::misaligned_transmute",
"this lint has been split into cast_ptr_alignment and transmute_ptr_to_ptr", "this lint has been split into cast_ptr_alignment and transmute_ptr_to_ptr",
); );
store.register_removed( store.register_removed(
"assign_ops", "clippy::assign_ops",
"using compound assignment operators (e.g., `+=`) is harmless", "using compound assignment operators (e.g., `+=`) is harmless",
); );
store.register_removed( store.register_removed(
"if_let_redundant_pattern_matching", "clippy::if_let_redundant_pattern_matching",
"this lint has been changed to redundant_pattern_matching", "this lint has been changed to redundant_pattern_matching",
); );
store.register_removed( store.register_removed(
"unsafe_vector_initialization", "clippy::unsafe_vector_initialization",
"the replacement suggested by this lint had substantially different behavior", "the replacement suggested by this lint had substantially different behavior",
); );
// end deprecated lints, do not remove this comment, its used in `update_lints` // end deprecated lints, do not remove this comment, its used in `update_lints`

View file

@ -1,7 +1,8 @@
#[warn(str_to_string)] #[warn(clippy::str_to_string)]
#[warn(string_to_string)] #[warn(clippy::string_to_string)]
#[warn(unstable_as_slice)] #[warn(clippy::unstable_as_slice)]
#[warn(unstable_as_mut_slice)] #[warn(clippy::unstable_as_mut_slice)]
#[warn(misaligned_transmute)] #[warn(clippy::misaligned_transmute)]
#[warn(clippy::unused_collect)]
fn main() {} fn main() {}

View file

@ -1,40 +1,40 @@
error: lint `str_to_string` has been removed: `using `str::to_string` is common even today and specialization will likely happen soon` error: lint `clippy::str_to_string` has been removed: `using `str::to_string` is common even today and specialization will likely happen soon`
--> $DIR/deprecated.rs:1:8 --> $DIR/deprecated.rs:1:8
| |
LL | #[warn(str_to_string)] LL | #[warn(clippy::str_to_string)]
| ^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^
| |
= note: `-D renamed-and-removed-lints` implied by `-D warnings` = note: `-D renamed-and-removed-lints` implied by `-D warnings`
error: lint `string_to_string` has been removed: `using `string::to_string` is common even today and specialization will likely happen soon` error: lint `clippy::string_to_string` has been removed: `using `string::to_string` is common even today and specialization will likely happen soon`
--> $DIR/deprecated.rs:2:8 --> $DIR/deprecated.rs:2:8
| |
LL | #[warn(string_to_string)] LL | #[warn(clippy::string_to_string)]
| ^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^
error: lint `unstable_as_slice` has been removed: ``Vec::as_slice` has been stabilized in 1.7` error: lint `clippy::unstable_as_slice` has been removed: ``Vec::as_slice` has been stabilized in 1.7`
--> $DIR/deprecated.rs:3:8 --> $DIR/deprecated.rs:3:8
| |
LL | #[warn(unstable_as_slice)] LL | #[warn(clippy::unstable_as_slice)]
| ^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
error: lint `unstable_as_mut_slice` has been removed: ``Vec::as_mut_slice` has been stabilized in 1.7` error: lint `clippy::unstable_as_mut_slice` has been removed: ``Vec::as_mut_slice` has been stabilized in 1.7`
--> $DIR/deprecated.rs:4:8 --> $DIR/deprecated.rs:4:8
| |
LL | #[warn(unstable_as_mut_slice)] LL | #[warn(clippy::unstable_as_mut_slice)]
| ^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: lint `misaligned_transmute` has been removed: `this lint has been split into cast_ptr_alignment and transmute_ptr_to_ptr` error: lint `clippy::misaligned_transmute` has been removed: `this lint has been split into cast_ptr_alignment and transmute_ptr_to_ptr`
--> $DIR/deprecated.rs:5:8 --> $DIR/deprecated.rs:5:8
| |
LL | #[warn(misaligned_transmute)] LL | #[warn(clippy::misaligned_transmute)]
| ^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: lint `str_to_string` has been removed: `using `str::to_string` is common even today and specialization will likely happen soon` error: lint `clippy::str_to_string` has been removed: `using `str::to_string` is common even today and specialization will likely happen soon`
--> $DIR/deprecated.rs:1:8 --> $DIR/deprecated.rs:1:8
| |
LL | #[warn(str_to_string)] LL | #[warn(clippy::str_to_string)]
| ^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 6 previous errors error: aborting due to 6 previous errors