rust/tests/ui/coroutine/gen_block.rs
Oli Scherer aef0f4024a Error on using yield without also using #[coroutine] on the closure
And suggest adding the `#[coroutine]` to the closure
2024-04-24 08:05:29 +00:00

27 lines
902 B
Rust

//@ revisions: e2024 none
//@[e2024] compile-flags: --edition 2024 -Zunstable-options
#![cfg_attr(e2024, feature(gen_blocks))]
#![feature(stmt_expr_attributes)]
fn main() {
let x = gen {};
//[none]~^ ERROR: cannot find
//[e2024]~^^ ERROR: type annotations needed
let y = gen { yield 42 };
//[none]~^ ERROR: found reserved keyword `yield`
//[none]~| ERROR: cannot find
gen {};
//[none]~^ ERROR: cannot find
let _ = || yield true; //[none]~ ERROR yield syntax is experimental
//~^ ERROR yield syntax is experimental
//~^^ ERROR `yield` can only be used in
let _ = #[coroutine] || yield true; //[none]~ ERROR yield syntax is experimental
//~^ ERROR `#[coroutines]` attribute is an experimental feature
//~^^ ERROR yield syntax is experimental
let _ = #[coroutine] || {};
//~^ ERROR `#[coroutines]` attribute is an experimental feature
}