From 126fb00585a426d36586c4e4f6e4b891ccfd332e Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Sat, 14 Dec 2024 23:40:55 +0100 Subject: [PATCH] Add ui test for `useless_concat` lint --- tests/ui/useless_concat.fixed | 20 ++++++++++++++++++++ tests/ui/useless_concat.rs | 20 ++++++++++++++++++++ tests/ui/useless_concat.stderr | 29 +++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 tests/ui/useless_concat.fixed create mode 100644 tests/ui/useless_concat.rs create mode 100644 tests/ui/useless_concat.stderr diff --git a/tests/ui/useless_concat.fixed b/tests/ui/useless_concat.fixed new file mode 100644 index 000000000000..0400b1fcd6db --- /dev/null +++ b/tests/ui/useless_concat.fixed @@ -0,0 +1,20 @@ +#![warn(clippy::useless_concat)] +#![allow(clippy::print_literal)] + +macro_rules! my_concat { + ($fmt:literal $(, $e:expr)*) => { + println!(concat!("ERROR: ", $fmt), $($e,)*); + } +} + +fn main() { + let x = ""; //~ useless_concat + let x = "a"; //~ useless_concat + let x = "1"; //~ useless_concat + println!("b: {}", "a"); //~ useless_concat + // Should not lint. + let x = concat!("a", "b"); + let local_i32 = 1; + my_concat!("{}", local_i32); + let x = concat!(file!(), "#L", line!()); +} diff --git a/tests/ui/useless_concat.rs b/tests/ui/useless_concat.rs new file mode 100644 index 000000000000..02e68568c103 --- /dev/null +++ b/tests/ui/useless_concat.rs @@ -0,0 +1,20 @@ +#![warn(clippy::useless_concat)] +#![allow(clippy::print_literal)] + +macro_rules! my_concat { + ($fmt:literal $(, $e:expr)*) => { + println!(concat!("ERROR: ", $fmt), $($e,)*); + } +} + +fn main() { + let x = concat!(); //~ useless_concat + let x = concat!("a"); //~ useless_concat + let x = concat!(1); //~ useless_concat + println!("b: {}", concat!("a")); //~ useless_concat + // Should not lint. + let x = concat!("a", "b"); + let local_i32 = 1; + my_concat!("{}", local_i32); + let x = concat!(file!(), "#L", line!()); +} diff --git a/tests/ui/useless_concat.stderr b/tests/ui/useless_concat.stderr new file mode 100644 index 000000000000..63038b6660b1 --- /dev/null +++ b/tests/ui/useless_concat.stderr @@ -0,0 +1,29 @@ +error: unneeded use of `concat!` macro + --> tests/ui/useless_concat.rs:11:13 + | +LL | let x = concat!(); + | ^^^^^^^^^ help: replace with: `""` + | + = note: `-D clippy::useless-concat` implied by `-D warnings` + = help: to override `-D warnings` add `#[allow(clippy::useless_concat)]` + +error: unneeded use of `concat!` macro + --> tests/ui/useless_concat.rs:12:13 + | +LL | let x = concat!("a"); + | ^^^^^^^^^^^^ help: replace with: `"a"` + +error: unneeded use of `concat!` macro + --> tests/ui/useless_concat.rs:13:13 + | +LL | let x = concat!(1); + | ^^^^^^^^^^ help: replace with: `"1"` + +error: unneeded use of `concat!` macro + --> tests/ui/useless_concat.rs:14:23 + | +LL | println!("b: {}", concat!("a")); + | ^^^^^^^^^^^^ help: replace with: `"a"` + +error: aborting due to 4 previous errors +