summaryrefslogtreecommitdiffstats
path: root/tests/ui/fmt/format-string-error-2.rs
blob: 1f7f0d8f6be6ae72c93d62814c3296dc4c807350 (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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
// ignore-tidy-tab

fn main() {
    format!("{
    a");
    //~^ ERROR invalid format string
    format!("{ \
               \
    b");
    //~^ ERROR invalid format string
    format!(r#"{ \

    rawc"#);
    //~^^^ ERROR invalid format string
    format!(r#"{ \n
\n
    rawd"#);
    //~^^^ ERROR invalid format string
    format!("{ \n
\n
    e");
    //~^ ERROR invalid format string
    format!("
    {
    a");
    //~^ ERROR invalid format string
    format!("
    {
    a
    ");
    //~^^ ERROR invalid format string
    format!("  \
    { \
    	\
    b");
    //~^ ERROR invalid format string
    format!("  \
    { \
    	\
    b \
      \
    ");
    //~^^^ ERROR invalid format string
    format!(r#"
raw  { \
       \
    c"#);
    //~^^^ ERROR invalid format string
    format!(r#"
raw  { \n
\n
    d"#);
    //~^^^ ERROR invalid format string
    format!("
  { \n
\n
    e");
    //~^ ERROR invalid format string

    format!("
    {asdf
    }
    ", asdf=1);
    // ok - this is supported
    format!("
    {
    asdf}
    ", asdf=1);
    //~^^ ERROR invalid format string
    println!("\t{}");
    //~^ ERROR 1 positional argument in format string

    // note: `\x7B` is `{`
    println!("\x7B}\u{8} {", 1);
    //~^ ERROR invalid format string: expected `'}'` but string was terminated

    println!("\x7B}\u8 {", 1);
    //~^ ERROR incorrect unicode escape sequence

    // note: raw strings don't escape `\xFF` and `\u{FF}` sequences
    println!(r#"\x7B}\u{8} {"#, 1);
    //~^ ERROR invalid format string: unmatched `}` found

    println!(r#"\x7B}\u8 {"#, 1);
    //~^ ERROR invalid format string: unmatched `}` found
}