about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/parser/issue-89396.fixed16
-rw-r--r--src/test/ui/parser/issue-89396.rs16
-rw-r--r--src/test/ui/parser/issue-89396.stderr20
3 files changed, 52 insertions, 0 deletions
diff --git a/src/test/ui/parser/issue-89396.fixed b/src/test/ui/parser/issue-89396.fixed
new file mode 100644
index 00000000000..823ad8cd1f8
--- /dev/null
+++ b/src/test/ui/parser/issue-89396.fixed
@@ -0,0 +1,16 @@
+// Regression test for issue #89396: Try to recover from a
+// `=>` -> `=` or `->` typo in a match arm.
+
+// run-rustfix
+
+fn main() {
+    let opt = Some(42);
+    let _ = match opt {
+        Some(_) => true,
+        //~^ ERROR: expected one of
+        //~| HELP: try using a fat arrow here
+        None => false,
+        //~^ ERROR: expected one of
+        //~| HELP: try using a fat arrow here
+    };
+}
diff --git a/src/test/ui/parser/issue-89396.rs b/src/test/ui/parser/issue-89396.rs
new file mode 100644
index 00000000000..f1d9efa524f
--- /dev/null
+++ b/src/test/ui/parser/issue-89396.rs
@@ -0,0 +1,16 @@
+// Regression test for issue #89396: Try to recover from a
+// `=>` -> `=` or `->` typo in a match arm.
+
+// run-rustfix
+
+fn main() {
+    let opt = Some(42);
+    let _ = match opt {
+        Some(_) = true,
+        //~^ ERROR: expected one of
+        //~| HELP: try using a fat arrow here
+        None -> false,
+        //~^ ERROR: expected one of
+        //~| HELP: try using a fat arrow here
+    };
+}
diff --git a/src/test/ui/parser/issue-89396.stderr b/src/test/ui/parser/issue-89396.stderr
new file mode 100644
index 00000000000..504420574e2
--- /dev/null
+++ b/src/test/ui/parser/issue-89396.stderr
@@ -0,0 +1,20 @@
+error: expected one of `=>`, `if`, or `|`, found `=`
+  --> $DIR/issue-89396.rs:9:17
+   |
+LL |         Some(_) = true,
+   |                 ^
+   |                 |
+   |                 expected one of `=>`, `if`, or `|`
+   |                 help: try using a fat arrow here: `=>`
+
+error: expected one of `=>`, `@`, `if`, or `|`, found `->`
+  --> $DIR/issue-89396.rs:12:14
+   |
+LL |         None -> false,
+   |              ^^
+   |              |
+   |              expected one of `=>`, `@`, `if`, or `|`
+   |              help: try using a fat arrow here: `=>`
+
+error: aborting due to 2 previous errors
+