summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/lines_filter_map_ok.fixed
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/clippy/tests/ui/lines_filter_map_ok.fixed')
-rw-r--r--src/tools/clippy/tests/ui/lines_filter_map_ok.fixed29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/lines_filter_map_ok.fixed b/src/tools/clippy/tests/ui/lines_filter_map_ok.fixed
new file mode 100644
index 000000000..f4033cd8e
--- /dev/null
+++ b/src/tools/clippy/tests/ui/lines_filter_map_ok.fixed
@@ -0,0 +1,29 @@
+// run-rustfix
+
+#![allow(unused, clippy::map_identity)]
+#![warn(clippy::lines_filter_map_ok)]
+
+use std::io::{self, BufRead, BufReader};
+
+fn main() -> io::Result<()> {
+ let f = std::fs::File::open("/")?;
+ // Lint
+ BufReader::new(f).lines().map_while(Result::ok).for_each(|_| ());
+ // Lint
+ let f = std::fs::File::open("/")?;
+ BufReader::new(f).lines().map_while(Result::ok).for_each(|_| ());
+ let s = "foo\nbar\nbaz\n";
+ // Lint
+ io::stdin().lines().map_while(Result::ok).for_each(|_| ());
+ // Lint
+ io::stdin().lines().map_while(Result::ok).for_each(|_| ());
+ // Do not lint (not a `Lines` iterator)
+ io::stdin()
+ .lines()
+ .map(std::convert::identity)
+ .filter_map(|x| x.ok())
+ .for_each(|_| ());
+ // Do not lint (not a `Result::ok()` extractor)
+ io::stdin().lines().filter_map(|x| x.err()).for_each(|_| ());
+ Ok(())
+}