summaryrefslogtreecommitdiffstats
path: root/src/test/ui/async-await/try-on-option-in-async.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/async-await/try-on-option-in-async.rs')
-rw-r--r--src/test/ui/async-await/try-on-option-in-async.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/ui/async-await/try-on-option-in-async.rs b/src/test/ui/async-await/try-on-option-in-async.rs
new file mode 100644
index 000000000..afaaed2ef
--- /dev/null
+++ b/src/test/ui/async-await/try-on-option-in-async.rs
@@ -0,0 +1,28 @@
+#![feature(async_closure)]
+// edition:2018
+fn main() {}
+
+async fn an_async_block() -> u32 {
+ async {
+ let x: Option<u32> = None;
+ x?; //~ ERROR the `?` operator
+ 22
+ }
+ .await
+}
+
+async fn async_closure_containing_fn() -> u32 {
+ let async_closure = async || {
+ let x: Option<u32> = None;
+ x?; //~ ERROR the `?` operator
+ 22_u32
+ };
+
+ async_closure().await
+}
+
+async fn an_async_function() -> u32 {
+ let x: Option<u32> = None;
+ x?; //~ ERROR the `?` operator
+ 22
+}