summaryrefslogtreecommitdiffstats
path: root/src/test/ui/parser/recover-labeled-non-block-expr.rs
blob: fc11c646a8c68d5b17660355069310ea9ac95e16 (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
// run-rustfix
fn main() {
    let _ = 'label: 1 + 1; //~ ERROR expected `while`, `for`, `loop` or `{` after a label

    'label: match () { () => {}, }; //~ ERROR expected `while`, `for`, `loop` or `{` after a label
    'label: match () { () => break 'label, }; //~ ERROR expected `while`, `for`, `loop` or `{` after a label
    #[allow(unused_labels)]
    'label: match () { () => 'lp: loop { break 'lp 0 }, }; //~ ERROR expected `while`, `for`, `loop` or `{` after a label

    let x = 1;
    let _i = 'label: match x { //~ ERROR expected `while`, `for`, `loop` or `{` after a label
        0 => 42,
        1 if false => break 'label 17,
        1 => {
            if true {
                break 'label 13
            } else {
                break 'label 0;
            }
        }
        _ => 1,
    };

    let other = 3;
    let _val = 'label: (1, if other == 3 { break 'label (2, 3) } else { other }); //~ ERROR expected `while`, `for`, `loop` or `{` after a label
}