about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorAaron Hill <aa1ronham@gmail.com>2021-05-16 22:26:57 -0400
committerAaron Hill <aa1ronham@gmail.com>2021-05-16 22:26:57 -0400
commit500503b16ca9f72a44028e27c1cc2fa76be49085 (patch)
tree06cae1e95d5cf5608c9ae398affdfa9ef71eb40d /src/test
parenta55748ffe94e71f841c7b1d752779b0db138b342 (diff)
downloadrust-500503b16ca9f72a44028e27c1cc2fa76be49085.tar.gz
rust-500503b16ca9f72a44028e27c1cc2fa76be49085.zip
Suppress spurious errors inside `async fn`
Fixes #73741
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/async-await/issue-73741-type-err.rs14
-rw-r--r--src/test/ui/async-await/issue-73741-type-err.stderr11
2 files changed, 25 insertions, 0 deletions
diff --git a/src/test/ui/async-await/issue-73741-type-err.rs b/src/test/ui/async-await/issue-73741-type-err.rs
new file mode 100644
index 00000000000..c5b9e34edf7
--- /dev/null
+++ b/src/test/ui/async-await/issue-73741-type-err.rs
@@ -0,0 +1,14 @@
+// edition:2018
+//
+// Regression test for issue #73741
+// Ensures that we don't emit spurious errors when
+// a type error ocurrs in an `async fn`
+
+async fn weird() {
+    1 = 2; //~ ERROR invalid left-hand side
+
+    let mut loop_count = 0;
+    async {}.await
+}
+
+fn main() {}
diff --git a/src/test/ui/async-await/issue-73741-type-err.stderr b/src/test/ui/async-await/issue-73741-type-err.stderr
new file mode 100644
index 00000000000..0b5343a98cf
--- /dev/null
+++ b/src/test/ui/async-await/issue-73741-type-err.stderr
@@ -0,0 +1,11 @@
+error[E0070]: invalid left-hand side of assignment
+  --> $DIR/issue-73741-type-err.rs:8:7
+   |
+LL |     1 = 2;
+   |     - ^
+   |     |
+   |     cannot assign to this expression
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0070`.