clean-up tests, first pass - remove unused attributes - add `warn`s for _all_ the lints tested - remove `fn main` from the no-std test, so that it's considered a lib and thus doesn't need the no-std boilerplate - use shorthand error patterns
diff --git a/tests/ui/mem_replace.fixed b/tests/ui/mem_replace.fixed index 26aa7aa..df2d36a 100644 --- a/tests/ui/mem_replace.fixed +++ b/tests/ui/mem_replace.fixed
@@ -1,7 +1,6 @@ -#![allow(unused, clippy::needless_lifetimes)] #![warn( - clippy::style, clippy::mem_replace_option_with_none, + clippy::mem_replace_option_with_some, clippy::mem_replace_with_default )] @@ -142,14 +141,13 @@ val: String::from("bar"), }; - // replace option with none let _ = f.0.take(); //~^ mem_replace_option_with_none let _ = (*f).take(); //~^ mem_replace_option_with_none let _ = b.opt.take(); //~^ mem_replace_option_with_none - // replace with default + let _ = std::mem::take(&mut b.val); //~^ mem_replace_with_default } @@ -158,16 +156,16 @@ fn mem_replace_option_with_some() { let mut an_option = Some(0); let replaced = an_option.replace(1); - //~^ ERROR: replacing an `Option` with `Some(..)` + //~^ mem_replace_option_with_some let mut an_option = &mut Some(0); let replaced = an_option.replace(1); - //~^ ERROR: replacing an `Option` with `Some(..)` + //~^ mem_replace_option_with_some let (mut opt1, mut opt2) = (Some(0), Some(0)); let b = true; let replaced = (if b { &mut opt1 } else { &mut opt2 }).replace(1); - //~^ ERROR: replacing an `Option` with `Some(..)` + //~^ mem_replace_option_with_some } #[clippy::msrv = "1.30"]
diff --git a/tests/ui/mem_replace.rs b/tests/ui/mem_replace.rs index cd675f5..970bd61 100644 --- a/tests/ui/mem_replace.rs +++ b/tests/ui/mem_replace.rs
@@ -1,7 +1,6 @@ -#![allow(unused, clippy::needless_lifetimes)] #![warn( - clippy::style, clippy::mem_replace_option_with_none, + clippy::mem_replace_option_with_some, clippy::mem_replace_with_default )] @@ -142,14 +141,13 @@ val: String::from("bar"), }; - // replace option with none let _ = std::mem::replace(&mut f.0, None); //~^ mem_replace_option_with_none let _ = std::mem::replace(&mut *f, None); //~^ mem_replace_option_with_none let _ = std::mem::replace(&mut b.opt, None); //~^ mem_replace_option_with_none - // replace with default + let _ = std::mem::replace(&mut b.val, String::default()); //~^ mem_replace_with_default } @@ -158,16 +156,16 @@ fn mem_replace_option_with_some() { let mut an_option = Some(0); let replaced = mem::replace(&mut an_option, Some(1)); - //~^ ERROR: replacing an `Option` with `Some(..)` + //~^ mem_replace_option_with_some let mut an_option = &mut Some(0); let replaced = mem::replace(an_option, Some(1)); - //~^ ERROR: replacing an `Option` with `Some(..)` + //~^ mem_replace_option_with_some let (mut opt1, mut opt2) = (Some(0), Some(0)); let b = true; let replaced = mem::replace(if b { &mut opt1 } else { &mut opt2 }, Some(1)); - //~^ ERROR: replacing an `Option` with `Some(..)` + //~^ mem_replace_option_with_some } #[clippy::msrv = "1.30"]
diff --git a/tests/ui/mem_replace.stderr b/tests/ui/mem_replace.stderr index 9424c32..04dcd04 100644 --- a/tests/ui/mem_replace.stderr +++ b/tests/ui/mem_replace.stderr
@@ -1,5 +1,5 @@ error: replacing an `Option` with `None` - --> tests/ui/mem_replace.rs:13:13 + --> tests/ui/mem_replace.rs:12:13 | LL | let _ = mem::replace(&mut an_option, None); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `Option::take()` instead: `an_option.take()` @@ -8,13 +8,13 @@ = help: to override `-D warnings` add `#[allow(clippy::mem_replace_option_with_none)]` error: replacing an `Option` with `None` - --> tests/ui/mem_replace.rs:16:13 + --> tests/ui/mem_replace.rs:15:13 | LL | let _ = mem::replace(an_option, None); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `Option::take()` instead: `an_option.take()` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:22:13 + --> tests/ui/mem_replace.rs:21:13 | LL | let _ = std::mem::replace(&mut s, String::default()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut s)` @@ -23,145 +23,145 @@ = help: to override `-D warnings` add `#[allow(clippy::mem_replace_with_default)]` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:24:13 + --> tests/ui/mem_replace.rs:23:13 | LL | let _ = std::mem::replace(&mut s, String::new()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut s)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:28:13 + --> tests/ui/mem_replace.rs:27:13 | LL | let _ = std::mem::replace(s, String::default()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(s)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:30:13 + --> tests/ui/mem_replace.rs:29:13 | LL | let _ = std::mem::replace(s, String::new()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(s)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:32:13 + --> tests/ui/mem_replace.rs:31:13 | LL | let _ = std::mem::replace(s, Default::default()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(s)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:36:13 + --> tests/ui/mem_replace.rs:35:13 | LL | let _ = std::mem::replace(&mut v, Vec::default()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut v)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:38:13 + --> tests/ui/mem_replace.rs:37:13 | LL | let _ = std::mem::replace(&mut v, Default::default()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut v)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:40:13 + --> tests/ui/mem_replace.rs:39:13 | LL | let _ = std::mem::replace(&mut v, Vec::new()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut v)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:42:13 + --> tests/ui/mem_replace.rs:41:13 | LL | let _ = std::mem::replace(&mut v, vec![]); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut v)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:46:13 + --> tests/ui/mem_replace.rs:45:13 | LL | let _ = std::mem::replace(&mut hash_map, HashMap::new()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut hash_map)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:50:13 + --> tests/ui/mem_replace.rs:49:13 | LL | let _ = std::mem::replace(&mut btree_map, BTreeMap::new()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut btree_map)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:54:13 + --> tests/ui/mem_replace.rs:53:13 | LL | let _ = std::mem::replace(&mut vd, VecDeque::new()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut vd)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:58:13 + --> tests/ui/mem_replace.rs:57:13 | LL | let _ = std::mem::replace(&mut hash_set, HashSet::new()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut hash_set)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:62:13 + --> tests/ui/mem_replace.rs:61:13 | LL | let _ = std::mem::replace(&mut btree_set, BTreeSet::new()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut btree_set)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:66:13 + --> tests/ui/mem_replace.rs:65:13 | LL | let _ = std::mem::replace(&mut list, LinkedList::new()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut list)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:70:13 + --> tests/ui/mem_replace.rs:69:13 | LL | let _ = std::mem::replace(&mut binary_heap, BinaryHeap::new()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut binary_heap)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:74:13 + --> tests/ui/mem_replace.rs:73:13 | LL | let _ = std::mem::replace(&mut tuple, (vec![], BinaryHeap::new())); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut tuple)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:78:13 + --> tests/ui/mem_replace.rs:77:13 | LL | let _ = std::mem::replace(&mut refstr, ""); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut refstr)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:82:13 + --> tests/ui/mem_replace.rs:81:13 | LL | let _ = std::mem::replace(&mut slice, &[]); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut slice)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:115:13 + --> tests/ui/mem_replace.rs:114:13 | LL | let _ = std::mem::replace(&mut s, String::default()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut s)` error: replacing an `Option` with `None` - --> tests/ui/mem_replace.rs:146:13 + --> tests/ui/mem_replace.rs:144:13 | LL | let _ = std::mem::replace(&mut f.0, None); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `Option::take()` instead: `f.0.take()` error: replacing an `Option` with `None` - --> tests/ui/mem_replace.rs:148:13 + --> tests/ui/mem_replace.rs:146:13 | LL | let _ = std::mem::replace(&mut *f, None); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `Option::take()` instead: `(*f).take()` error: replacing an `Option` with `None` - --> tests/ui/mem_replace.rs:150:13 + --> tests/ui/mem_replace.rs:148:13 | LL | let _ = std::mem::replace(&mut b.opt, None); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `Option::take()` instead: `b.opt.take()` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:153:13 + --> tests/ui/mem_replace.rs:151:13 | LL | let _ = std::mem::replace(&mut b.val, String::default()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(&mut b.val)` error: replacing an `Option` with `Some(..)` - --> tests/ui/mem_replace.rs:160:20 + --> tests/ui/mem_replace.rs:158:20 | LL | let replaced = mem::replace(&mut an_option, Some(1)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `Option::replace()` instead: `an_option.replace(1)` @@ -170,19 +170,19 @@ = help: to override `-D warnings` add `#[allow(clippy::mem_replace_option_with_some)]` error: replacing an `Option` with `Some(..)` - --> tests/ui/mem_replace.rs:164:20 + --> tests/ui/mem_replace.rs:162:20 | LL | let replaced = mem::replace(an_option, Some(1)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `Option::replace()` instead: `an_option.replace(1)` error: replacing an `Option` with `Some(..)` - --> tests/ui/mem_replace.rs:169:20 + --> tests/ui/mem_replace.rs:167:20 | LL | let replaced = mem::replace(if b { &mut opt1 } else { &mut opt2 }, Some(1)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `Option::replace()` instead: `(if b { &mut opt1 } else { &mut opt2 }).replace(1)` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace.rs:181:20 + --> tests/ui/mem_replace.rs:179:20 | LL | let replaced = std::mem::replace(dbg!(&mut text), String::default()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `std::mem::take` instead: `std::mem::take(dbg!(&mut text))`
diff --git a/tests/ui/mem_replace_no_std.fixed b/tests/ui/mem_replace_no_std.fixed index 4e2d413..3cb22ad 100644 --- a/tests/ui/mem_replace_no_std.fixed +++ b/tests/ui/mem_replace_no_std.fixed
@@ -1,22 +1,11 @@ -#![allow(unused, clippy::needless_lifetimes)] #![warn( - clippy::style, clippy::mem_replace_option_with_none, + clippy::mem_replace_option_with_some, clippy::mem_replace_with_default )] -#![feature(lang_items)] #![no_std] use core::mem; -use core::panic::PanicInfo; - -#[lang = "eh_personality"] -extern "C" fn eh_personality() {} - -#[panic_handler] -fn panic(info: &PanicInfo) -> ! { - loop {} -} fn replace_option_with_none() { let mut an_option = Some(1); @@ -47,8 +36,6 @@ let _ = mem::replace(&mut pint, 0); } -fn main() {} - fn issue9824() { struct Foo<'a>(Option<&'a str>); impl<'a> core::ops::Deref for Foo<'a> {
diff --git a/tests/ui/mem_replace_no_std.rs b/tests/ui/mem_replace_no_std.rs index c089230..75f2472 100644 --- a/tests/ui/mem_replace_no_std.rs +++ b/tests/ui/mem_replace_no_std.rs
@@ -1,22 +1,11 @@ -#![allow(unused, clippy::needless_lifetimes)] #![warn( - clippy::style, clippy::mem_replace_option_with_none, + clippy::mem_replace_option_with_some, clippy::mem_replace_with_default )] -#![feature(lang_items)] #![no_std] use core::mem; -use core::panic::PanicInfo; - -#[lang = "eh_personality"] -extern "C" fn eh_personality() {} - -#[panic_handler] -fn panic(info: &PanicInfo) -> ! { - loop {} -} fn replace_option_with_none() { let mut an_option = Some(1); @@ -47,8 +36,6 @@ let _ = mem::replace(&mut pint, 0); } -fn main() {} - fn issue9824() { struct Foo<'a>(Option<&'a str>); impl<'a> core::ops::Deref for Foo<'a> {
diff --git a/tests/ui/mem_replace_no_std.stderr b/tests/ui/mem_replace_no_std.stderr index ae4f4a7..bbb5fb9 100644 --- a/tests/ui/mem_replace_no_std.stderr +++ b/tests/ui/mem_replace_no_std.stderr
@@ -1,5 +1,5 @@ error: replacing an `Option` with `None` - --> tests/ui/mem_replace_no_std.rs:23:13 + --> tests/ui/mem_replace_no_std.rs:12:13 | LL | let _ = mem::replace(&mut an_option, None); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `Option::take()` instead: `an_option.take()` @@ -8,13 +8,13 @@ = help: to override `-D warnings` add `#[allow(clippy::mem_replace_option_with_none)]` error: replacing an `Option` with `None` - --> tests/ui/mem_replace_no_std.rs:26:13 + --> tests/ui/mem_replace_no_std.rs:15:13 | LL | let _ = mem::replace(an_option, None); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `Option::take()` instead: `an_option.take()` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace_no_std.rs:32:13 + --> tests/ui/mem_replace_no_std.rs:21:13 | LL | let _ = mem::replace(&mut refstr, ""); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `core::mem::take` instead: `core::mem::take(&mut refstr)` @@ -23,25 +23,25 @@ = help: to override `-D warnings` add `#[allow(clippy::mem_replace_with_default)]` error: replacing a value of type `T` with `T::default()` - --> tests/ui/mem_replace_no_std.rs:36:13 + --> tests/ui/mem_replace_no_std.rs:25:13 | LL | let _ = mem::replace(&mut slice, &[]); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `core::mem::take` instead: `core::mem::take(&mut slice)` error: replacing an `Option` with `None` - --> tests/ui/mem_replace_no_std.rs:76:13 + --> tests/ui/mem_replace_no_std.rs:63:13 | LL | let _ = mem::replace(&mut f.0, None); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `Option::take()` instead: `f.0.take()` error: replacing an `Option` with `None` - --> tests/ui/mem_replace_no_std.rs:78:13 + --> tests/ui/mem_replace_no_std.rs:65:13 | LL | let _ = mem::replace(&mut *f, None); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `Option::take()` instead: `(*f).take()` error: replacing an `Option` with `None` - --> tests/ui/mem_replace_no_std.rs:80:13 + --> tests/ui/mem_replace_no_std.rs:67:13 | LL | let _ = mem::replace(&mut b.opt, None); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `Option::take()` instead: `b.opt.take()`