]> git.lizzy.rs Git - rust.git/blob - tests/ui/explicit_write.rs
Merge pull request #2984 from flip1995/single_char_pattern
[rust.git] / tests / ui / explicit_write.rs
1 #![warn(explicit_write)]
2
3
4 fn stdout() -> String {
5     String::new()
6 }
7
8 fn stderr() -> String {
9     String::new()
10 }
11
12 fn main() {
13     // these should warn
14     {
15         use std::io::Write;
16         write!(std::io::stdout(), "test").unwrap();
17         write!(std::io::stderr(), "test").unwrap();
18         writeln!(std::io::stdout(), "test").unwrap();
19         writeln!(std::io::stderr(), "test").unwrap();
20         std::io::stdout().write_fmt(format_args!("test")).unwrap();
21         std::io::stderr().write_fmt(format_args!("test")).unwrap();
22     }
23     // these should not warn, different destination
24     {
25         use std::fmt::Write;
26         let mut s = String::new();
27         write!(s, "test").unwrap();
28         write!(s, "test").unwrap();
29         writeln!(s, "test").unwrap();
30         writeln!(s, "test").unwrap();
31         s.write_fmt(format_args!("test")).unwrap();
32         s.write_fmt(format_args!("test")).unwrap();
33         write!(stdout(), "test").unwrap();
34         write!(stderr(), "test").unwrap();
35         writeln!(stdout(), "test").unwrap();
36         writeln!(stderr(), "test").unwrap();
37         stdout().write_fmt(format_args!("test")).unwrap();
38         stderr().write_fmt(format_args!("test")).unwrap();
39     }
40     // these should not warn, no unwrap
41     {
42         use std::io::Write;
43         std::io::stdout().write_fmt(format_args!("test")).expect("no stdout");
44         std::io::stderr().write_fmt(format_args!("test")).expect("no stderr");
45     }
46 }