summaryrefslogtreecommitdiffstats
path: root/tests/ui/fmt/incorrect-separator.rs
blob: b8d2e4a3473b6527efdc6be528c0aff3bb8b4551 (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
// Allows to track issue #75492:
// https://github.com/rust-lang/rust/issues/75492

use std::iter;

fn main() {
    format!("A number: {}". iter::once(42).next().unwrap());
    //~^ ERROR expected `,`, found `.`

    // Other kind of types are also checked:

    format!("A number: {}" / iter::once(42).next().unwrap());
    //~^ ERROR expected `,`, found `/`

    format!("A number: {}"; iter::once(42).next().unwrap());
    //~^ ERROR expected `,`, found `;`

    // Note: this character is an COMBINING COMMA BELOW unicode char
    format!("A number: {}" ̦ iter::once(42).next().unwrap());
    //~^ ERROR expected `,`, found `iter`
    //~^^ ERROR unknown start of token: \u{326}

    // Here recovery is tested.
    // If the `compile_error!` is emitted, then the parser is able to recover
    // from the incorrect first separator.
    format!("{}". compile_error!("fail"));
    //~^ ERROR expected `,`, found `.`
    //~^^ ERROR fail
}