2023-07-27 11:40:22 +00:00
|
|
|
//@no-rustfix: overlapping suggestions
|
2021-03-01 21:31:04 +00:00
|
|
|
#![allow(unused_must_use)]
|
2023-06-15 19:15:10 +00:00
|
|
|
#![warn(clippy::needless_raw_strings, clippy::write_literal)]
|
2021-03-01 21:31:04 +00:00
|
|
|
|
|
|
|
use std::io::Write;
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let mut v = Vec::new();
|
|
|
|
|
2022-01-11 19:31:35 +00:00
|
|
|
writeln!(v, "{}", "{hello}");
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: literal with an empty format string
|
|
|
|
//~| NOTE: `-D clippy::write-literal` implied by `-D warnings`
|
2022-01-11 19:31:35 +00:00
|
|
|
writeln!(v, r"{}", r"{hello}");
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: unnecessary raw string literal
|
|
|
|
//~| NOTE: `-D clippy::needless-raw-strings` implied by `-D warnings`
|
|
|
|
//~| ERROR: literal with an empty format string
|
2022-01-11 19:31:35 +00:00
|
|
|
writeln!(v, "{}", '\'');
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: literal with an empty format string
|
2022-01-11 19:31:35 +00:00
|
|
|
writeln!(v, "{}", '"');
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: literal with an empty format string
|
2022-08-30 12:20:49 +00:00
|
|
|
writeln!(v, r"{}", '"');
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: literal with an empty format string
|
2022-01-11 19:31:35 +00:00
|
|
|
writeln!(v, r"{}", '\'');
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: literal with an empty format string
|
2021-03-01 21:31:04 +00:00
|
|
|
writeln!(
|
2022-01-11 19:31:35 +00:00
|
|
|
v,
|
2021-03-01 21:31:04 +00:00
|
|
|
"some {}",
|
|
|
|
"hello \
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: literal with an empty format string
|
2021-03-01 21:31:04 +00:00
|
|
|
world!"
|
|
|
|
);
|
|
|
|
writeln!(
|
2022-01-11 19:31:35 +00:00
|
|
|
v,
|
2021-03-01 21:31:04 +00:00
|
|
|
"some {}\
|
|
|
|
{} \\ {}",
|
2023-07-28 19:35:48 +00:00
|
|
|
"1",
|
|
|
|
"2",
|
|
|
|
"3",
|
|
|
|
//~^ ERROR: literal with an empty format string
|
2021-03-01 21:31:04 +00:00
|
|
|
);
|
2022-08-30 12:20:49 +00:00
|
|
|
writeln!(v, "{}", "\\");
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: literal with an empty format string
|
2022-08-30 12:20:49 +00:00
|
|
|
writeln!(v, r"{}", "\\");
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: literal with an empty format string
|
2022-08-30 12:20:49 +00:00
|
|
|
writeln!(v, r#"{}"#, "\\");
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: literal with an empty format string
|
2022-08-30 12:20:49 +00:00
|
|
|
writeln!(v, "{}", r"\");
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: literal with an empty format string
|
2022-08-30 12:20:49 +00:00
|
|
|
writeln!(v, "{}", "\r");
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: literal with an empty format string
|
2023-07-28 18:40:44 +00:00
|
|
|
// hard mode
|
|
|
|
writeln!(v, r#"{}{}"#, '#', '"');
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: literal with an empty format string
|
|
|
|
//~| ERROR: literal with an empty format string
|
2023-07-28 18:40:44 +00:00
|
|
|
// should not lint
|
|
|
|
writeln!(v, r"{}", "\r");
|
2021-03-01 21:31:04 +00:00
|
|
|
}
|