about summary refs log tree commit diff
path: root/compiler/rustc_codegen_cranelift/example/std_example.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-04-24 08:43:30 +0000
committerbors <bors@rust-lang.org>2024-04-24 08:43:30 +0000
commite9362896e0eaaa86372b8ee2634b5761dd9e5ab7 (patch)
tree974a23ad8012535719e7cb846b61e10df42a71e0 /compiler/rustc_codegen_cranelift/example/std_example.rs
parente7da0fa62fc58f9d665a67bf2e7a6d6154d8d74c (diff)
parentaef0f4024aec24fd7e53dbc51883457e44fe17ce (diff)
downloadrust-e9362896e0eaaa86372b8ee2634b5761dd9e5ab7.tar.gz
rust-e9362896e0eaaa86372b8ee2634b5761dd9e5ab7.zip
Auto merge of #123792 - oli-obk:coroutine_closures, r=compiler-errors
Require explicitly marking closures as coroutines

instead of relying on patching up the closure to be a coroutine if it happens to contain a `yield` expression.

I only do this in the 2024 edition, as the `gen` keyword is only available there.
Diffstat (limited to 'compiler/rustc_codegen_cranelift/example/std_example.rs')
-rw-r--r--compiler/rustc_codegen_cranelift/example/std_example.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/compiler/rustc_codegen_cranelift/example/std_example.rs b/compiler/rustc_codegen_cranelift/example/std_example.rs
index 0205de55622..90d4ab721da 100644
--- a/compiler/rustc_codegen_cranelift/example/std_example.rs
+++ b/compiler/rustc_codegen_cranelift/example/std_example.rs
@@ -1,6 +1,7 @@
 #![feature(
     core_intrinsics,
     coroutines,
+    stmt_expr_attributes,
     coroutine_trait,
     is_sorted,
     repr_simd,
@@ -123,9 +124,12 @@ fn main() {
         test_simd();
     }
 
-    Box::pin(move |mut _task_context| {
-        yield ();
-    })
+    Box::pin(
+        #[coroutine]
+        move |mut _task_context| {
+            yield ();
+        },
+    )
     .as_mut()
     .resume(0);