about summary refs log tree commit diff
path: root/tests/ui/parser/label-is-actually-char.rs
blob: 915ce86d26907b9334a8e13f886eb0ed37bb2011 (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Note: it's ok to interpret 'a as 'a', but not ok to interpret 'abc as
// 'abc' because 'abc' is not a valid char literal.

fn main() {
    let c = 'a;
    //~^ ERROR expected `while`, `for`, `loop` or `{` after a label
    //~| HELP add `'` to close the char literal

    let c = 'abc;
    //~^ ERROR expected `while`, `for`, `loop` or `{` after a label
    //~| ERROR expected expression, found `;`
}

fn f() {
    match 'a' {
        'a'..='b => {}
        //~^ ERROR unexpected token: `'b`
        //~| HELP add `'` to close the char literal
        'c'..='def => {}
        //~^ ERROR unexpected token: `'def`
    }
}

fn g() {
   match 'g' {
       'g => {}
       //~^ ERROR expected pattern, found `=>`
       //~| HELP add `'` to close the char literal
       'hij => {}
       //~^ ERROR expected pattern, found `'hij`
       _ => {}
   }
}

fn h() {
   let x = ['a, 'b, 'cde];
   //~^ ERROR expected `while`, `for`, `loop` or `{` after a label
   //~| HELP add `'` to close the char literal
   //~| ERROR expected `while`, `for`, `loop` or `{` after a label
   //~| HELP add `'` to close the char literal
   //~| ERROR expected `while`, `for`, `loop` or `{` after a label
   //~| ERROR expected expression, found `]`
}