]> git.lizzy.rs Git - rust.git/commitdiff
Add regression test for #102206
authorYuki Okushi <jtitor@2k36.org>
Tue, 20 Dec 2022 09:24:04 +0000 (18:24 +0900)
committerYuki Okushi <jtitor@2k36.org>
Tue, 20 Dec 2022 09:24:04 +0000 (18:24 +0900)
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
src/test/ui/async-await/issues/issue-102206.rs [new file with mode: 0644]
src/test/ui/async-await/issues/issue-102206.stderr [new file with mode: 0644]

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 (file)
index 0000000..a3a2ebc
--- /dev/null
@@ -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 (file)
index 0000000..2ab790a
--- /dev/null
@@ -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`.