summary refs log tree commit diff
path: root/tests/ui/coroutine/gen_block.rs
blob: 6734de3b667d290ae07b800715cec1aa6cce0f3a (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
    //~^ 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
}