]> git.lizzy.rs Git - rust.git/commitdiff
support TuplePat
authorJeroen Vannevel <jer_vannevel@outlook.com>
Fri, 14 Jan 2022 00:35:21 +0000 (00:35 +0000)
committerJeroen Vannevel <jer_vannevel@outlook.com>
Fri, 14 Jan 2022 01:32:12 +0000 (01:32 +0000)
crates/ide_assists/src/handlers/merge_match_arms.rs

index 0ef4678d118c80637e600da8cd8b83b3ae9ab0a1..ff1804fe95dd852b2b24f6054511a6cb87f67421 100644 (file)
@@ -131,6 +131,11 @@ fn recurse(
                         recurse(&Some(field), map, ctx);
                     }
                 }
+                Some(ast::Pat::TuplePat(tuple)) => {
+                    for field in tuple.fields() {
+                        recurse(&Some(field), map, ctx);
+                    }
+                }
                 Some(ast::Pat::RecordPat(record)) => {
                     if let Some(field_list) = record.record_pat_field_list() {
                         for field in field_list.fields() {
@@ -707,6 +712,21 @@ fn main(msg: Message) {
         Message::ChangeColor(y, Color::Hsv(x, b, c)) => "",
         _ => "other"
     };
+}
+        "#,
+        )
+    }
+
+    #[test]
+    fn merge_match_arms_tuple() {
+        check_assist_not_applicable(
+            merge_match_arms,
+            r#"
+fn func() {
+    match (0, "boo") {
+        (x, y) => $0"",
+        (y, x) => "",
+    };
 }
         "#,
         )