]> git.lizzy.rs Git - rust.git/blobdiff - tests/ui/iter_overeager_cloned.fixed
Move MSRV tests into the lint specific test files
[rust.git] / tests / ui / iter_overeager_cloned.fixed
index a9041671101b5006f437f516f3280545a6f67413..c100705d017816737d872fec5c40f591e35eb313 100644 (file)
@@ -1,5 +1,6 @@
 // run-rustfix
 #![warn(clippy::iter_overeager_cloned, clippy::redundant_clone, clippy::filter_next)]
+#![allow(dead_code, clippy::let_unit_value)]
 
 fn main() {
     let vec = vec!["1".to_string(), "2".to_string(), "3".to_string()];
@@ -17,7 +18,8 @@ fn main() {
     let _ = vec.iter().filter(|x| x == &"2").nth(2).cloned();
 
     let _ = [Some(Some("str".to_string())), Some(Some("str".to_string()))]
-        .iter().flatten().cloned();
+        .iter()
+        .flatten().cloned();
 
     // Not implemented yet
     let _ = vec.iter().cloned().filter(|x| x.starts_with('2'));
@@ -42,4 +44,12 @@ fn main() {
 
     // Should probably stay as it is.
     let _ = [0, 1, 2, 3, 4].iter().cloned().take(10);
+
+    // `&Range<_>` doesn't implement `IntoIterator`
+    let _ = [0..1, 2..5].iter().cloned().flatten();
+}
+
+// #8527
+fn cloned_flatten(x: Option<&Option<String>>) -> Option<String> {
+    x.cloned().flatten()
 }