about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2022-12-20 14:37:34 +0100
committerGitHub <noreply@github.com>2022-12-20 14:37:34 +0100
commitd6fbe798507d6401d9081eb07eae8bd51dd7cf3a (patch)
tree2914a95671e8c95fa0f798712e9295861f394404 /src
parent191a877c8899063c7c964ab9d483f4084f524da4 (diff)
parenta115a59cb2716f06c7511084c5678a85a32d446c (diff)
downloadrust-d6fbe798507d6401d9081eb07eae8bd51dd7cf3a.tar.gz
rust-d6fbe798507d6401d9081eb07eae8bd51dd7cf3a.zip
Rollup merge of #105943 - JohnTitor:issue-102206, r=compiler-errors
Add regression test for #102206

Closes #102206
r? `@compiler-errors`
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/async-await/issues/issue-102206.rs8
-rw-r--r--src/test/ui/async-await/issues/issue-102206.stderr23
2 files changed, 31 insertions, 0 deletions
diff --git a/src/test/ui/async-await/issues/issue-102206.rs b/src/test/ui/async-await/issues/issue-102206.rs
new file mode 100644
index 00000000000..a3a2ebc5896
--- /dev/null
+++ b/src/test/ui/async-await/issues/issue-102206.rs
@@ -0,0 +1,8 @@
+// edition:2021
+
+async fn foo() {}
+
+fn main() {
+    std::mem::size_of_val(foo());
+    //~^ ERROR: mismatched types
+}
diff --git a/src/test/ui/async-await/issues/issue-102206.stderr b/src/test/ui/async-await/issues/issue-102206.stderr
new file mode 100644
index 00000000000..2ab790ac761
--- /dev/null
+++ b/src/test/ui/async-await/issues/issue-102206.stderr
@@ -0,0 +1,23 @@
+error[E0308]: mismatched types
+  --> $DIR/issue-102206.rs:6:27
+   |
+LL |     std::mem::size_of_val(foo());
+   |     --------------------- ^^^^^
+   |     |                     |
+   |     |                     expected reference, found opaque type
+   |     |                     help: consider borrowing here: `&foo()`
+   |     arguments to this function are incorrect
+   |
+note: while checking the return type of the `async fn`
+  --> $DIR/issue-102206.rs:3:16
+   |
+LL | async fn foo() {}
+   |                ^ checked the `Output` of this `async fn`, found opaque type
+   = note: expected reference `&_`
+            found opaque type `impl Future<Output = ()>`
+note: function defined here
+  --> $SRC_DIR/core/src/mem/mod.rs:LL:COL
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.