]> git.lizzy.rs Git - rust.git/blob - src/tools/clippy/tests/ui/eprint_with_newline.rs
Merge commit '7248d06384c6a90de58c04c1f46be88821278d8b' into sync-from-clippy
[rust.git] / src / tools / clippy / tests / ui / eprint_with_newline.rs
1 #![allow(clippy::print_literal)]
2 #![warn(clippy::print_with_newline)]
3
4 fn main() {
5     eprint!("Hello\n");
6     eprint!("Hello {}\n", "world");
7     eprint!("Hello {} {}\n", "world", "#2");
8     eprint!("{}\n", 1265);
9     eprint!("\n");
10
11     // these are all fine
12     eprint!("");
13     eprint!("Hello");
14     eprintln!("Hello");
15     eprintln!("Hello\n");
16     eprintln!("Hello {}\n", "world");
17     eprint!("Issue\n{}", 1265);
18     eprint!("{}", 1265);
19     eprint!("\n{}", 1275);
20     eprint!("\n\n");
21     eprint!("like eof\n\n");
22     eprint!("Hello {} {}\n\n", "world", "#2");
23     eprintln!("\ndon't\nwarn\nfor\nmultiple\nnewlines\n"); // #3126
24     eprintln!("\nbla\n\n"); // #3126
25
26     // Escaping
27     eprint!("\\n"); // #3514
28     eprint!("\\\n"); // should fail
29     eprint!("\\\\n");
30
31     // Raw strings
32     eprint!(r"\n"); // #3778
33
34     // Literal newlines should also fail
35     eprint!(
36         "
37 "
38     );
39     eprint!(
40         r"
41 "
42     );
43
44     // Don't warn on CRLF (#4208)
45     eprint!("\r\n");
46     eprint!("foo\r\n");
47     eprint!("\\r\n"); //~ ERROR
48     eprint!("foo\rbar\n");
49
50     // Ignore expanded format strings
51     macro_rules! newline {
52         () => {
53             "\n"
54         };
55     }
56     eprint!(newline!());
57 }