]> git.lizzy.rs Git - rust.git/blobdiff - tests/ui/match_single_binding.rs
iterate List by value
[rust.git] / tests / ui / match_single_binding.rs
index 0517b3bbfbf939976b1754d8a255fbc31c090259..8c182148ae184652c18b413e3f239dde954b6da1 100644 (file)
@@ -12,6 +12,14 @@ fn coords() -> Point {
     Point { x: 1, y: 2 }
 }
 
+macro_rules! foo {
+    ($param:expr) => {
+        match $param {
+            _ => println!("whatever"),
+        }
+    };
+}
+
 fn main() {
     let a = 1;
     let b = 2;
@@ -27,6 +35,8 @@ fn main() {
         (x, y, z) => println!("{} {} {}", x, y, z),
     }
     // Ok
+    foo!(a);
+    // Ok
     match a {
         2 => println!("2"),
         _ => println!("Not 2"),
@@ -80,4 +90,13 @@ fn main() {
     let product = match coords() {
         Point { x, y } => x * y,
     };
+    // Lint
+    let v = vec![Some(1), Some(2), Some(3), Some(4)];
+    #[allow(clippy::let_and_return)]
+    let _ = v
+        .iter()
+        .map(|i| match i.unwrap() {
+            unwrapped => unwrapped,
+        })
+        .collect::<Vec<u8>>();
 }