blob: c50a707ace92e5bcd6b0a27740f132ccb04c7c68 [file] [log] [blame]
#![allow(clippy::print_literal)]
#![warn(clippy::print_with_newline)]
fn main() {
eprintln!("Hello");
//~^ print_with_newline
eprintln!("Hello {}", "world");
//~^ print_with_newline
eprintln!("Hello {} {}", "world", "#2");
//~^ print_with_newline
eprintln!("{}", 1265);
//~^ print_with_newline
eprintln!();
//~^ print_with_newline
// 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");
// Escaping
// #3514
eprint!("\\n");
eprintln!("\\");
//~^ print_with_newline
eprint!("\\\\n");
// Raw strings
// #3778
eprint!(r"\n");
// Literal newlines should also fail
eprintln!(
//~^ print_with_newline
);
eprintln!(
//~^ print_with_newline
);
// Don't warn on CRLF (#4208)
eprint!("\r\n");
eprint!("foo\r\n");
eprintln!("\\r");
//~^ print_with_newline
eprint!("foo\rbar\n");
// Ignore expanded format strings
macro_rules! newline {
() => {
"\n"
};
}
eprint!(newline!());
}