rust/tests/ui/eprint_with_newline.rs

72 lines
2.0 KiB
Rust
Raw Normal View History

2020-12-04 08:39:09 -06:00
#![allow(clippy::print_literal)]
#![warn(clippy::print_with_newline)]
fn main() {
eprint!("Hello\n");
//~^ ERROR: using `eprint!()` with a format string that ends in a single newline
//~| NOTE: `-D clippy::print-with-newline` implied by `-D warnings`
2020-12-04 08:39:09 -06:00
eprint!("Hello {}\n", "world");
//~^ ERROR: using `eprint!()` with a format string that ends in a single newline
2020-12-04 08:39:09 -06:00
eprint!("Hello {} {}\n", "world", "#2");
//~^ ERROR: using `eprint!()` with a format string that ends in a single newline
2020-12-04 08:39:09 -06:00
eprint!("{}\n", 1265);
//~^ ERROR: using `eprint!()` with a format string that ends in a single newline
2020-12-04 08:39:09 -06:00
eprint!("\n");
//~^ ERROR: using `eprint!()` with a format string that ends in a single newline
2020-12-04 08:39:09 -06:00
// these are all fine
eprint!("");
eprint!("Hello");
eprintln!("Hello");
eprintln!("Hello\n");
eprintln!("Hello {}\n", "world");
eprint!("Issue\n{}", 1265);
eprint!("{}", 1265);
eprint!("\n{}", 1275);
eprint!("\n\n");
eprint!("like eof\n\n");
eprint!("Hello {} {}\n\n", "world", "#2");
// #3126
eprintln!("\ndon't\nwarn\nfor\nmultiple\nnewlines\n");
// #3126
eprintln!("\nbla\n\n");
2020-12-04 08:39:09 -06:00
// Escaping
// #3514
eprint!("\\n");
eprint!("\\\n");
//~^ ERROR: using `eprint!()` with a format string that ends in a single newline
2020-12-04 08:39:09 -06:00
eprint!("\\\\n");
// Raw strings
// #3778
eprint!(r"\n");
2020-12-04 08:39:09 -06:00
// Literal newlines should also fail
eprint!(
//~^ ERROR: using `eprint!()` with a format string that ends in a single newline
2020-12-04 08:39:09 -06:00
"
"
);
eprint!(
//~^ ERROR: using `eprint!()` with a format string that ends in a single newline
2020-12-04 08:39:09 -06:00
r"
"
);
// Don't warn on CRLF (#4208)
eprint!("\r\n");
eprint!("foo\r\n");
2023-04-20 10:19:36 -05:00
eprint!("\\r\n");
//~^ ERROR: using `eprint!()` with a format string that ends in a single newline
2022-08-30 07:20:49 -05:00
eprint!("foo\rbar\n");
// Ignore expanded format strings
macro_rules! newline {
() => {
"\n"
};
}
eprint!(newline!());
2020-12-04 08:39:09 -06:00
}