about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/ui/async-await/async-closures/auxiliary/foreign.rs7
-rw-r--r--tests/ui/async-await/async-closures/foreign.rs19
2 files changed, 26 insertions, 0 deletions
diff --git a/tests/ui/async-await/async-closures/auxiliary/foreign.rs b/tests/ui/async-await/async-closures/auxiliary/foreign.rs
new file mode 100644
index 00000000000..e11dfc22213
--- /dev/null
+++ b/tests/ui/async-await/async-closures/auxiliary/foreign.rs
@@ -0,0 +1,7 @@
+// edition:2021
+
+#![feature(async_closure)]
+
+pub fn closure() -> impl async Fn() {
+    async || { /* Don't really need to do anything here. */ }
+}
diff --git a/tests/ui/async-await/async-closures/foreign.rs b/tests/ui/async-await/async-closures/foreign.rs
new file mode 100644
index 00000000000..60fea909801
--- /dev/null
+++ b/tests/ui/async-await/async-closures/foreign.rs
@@ -0,0 +1,19 @@
+// aux-build:block-on.rs
+// aux-build:foreign.rs
+// edition:2021
+// build-pass
+
+#![feature(async_closure)]
+
+use std::future::Future;
+
+extern crate block_on;
+extern crate foreign;
+
+struct NoCopy;
+
+fn main() {
+    block_on::block_on(async {
+        foreign::closure()().await;
+    });
+}