about summary refs log tree commit diff
path: root/tests/ui/coroutine/gen_block.rs
blob: e3734dd4cdf051499fe78029e9b68952541fc5e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//@ revisions: e2024 none
//@[e2024] edition: 2024
#![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
    //[none]~^ ERROR yield syntax is experimental
    //~^^ ERROR `yield` can only be used in

    let _ = #[coroutine] || yield true; //[none]~ ERROR yield syntax is experimental
    //~^ ERROR `#[coroutine]` attribute is an experimental feature
    //[none]~^^ ERROR yield syntax is experimental

    let _ = #[coroutine] || {};
    //~^ ERROR `#[coroutine]` attribute is an experimental feature
}