summaryrefslogtreecommitdiffstats
path: root/tests/ui/fmt/raw-idents.rs
blob: 29a74c55a4a54ac1f9c2aa4044c342754bfb4650 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Regression test for https://github.com/rust-lang/rust/issues/115466

// The "identifier" in format strings is parsed as an IDENTIFIER_OR_KEYWORD, not an IDENTIFIER.
// Test that there is an actionable diagnostic if a RAW_IDENTIFIER is used instead.

fn main() {
    let r#type = "foobar";
    println!("It is {r#type}"); //~ ERROR: invalid format string: raw identifiers are not supported
    println!(r##"It still is {r#type}"##); //~ ERROR: invalid format string: raw identifiers are not supported
    println!(concat!("{r#", "type}")); //~ ERROR: invalid format string: raw identifiers are not supported
    println!("{\x72\x23type:?}"); //~ ERROR: invalid format string: raw identifiers are not supported

    // OK
    println!("{type}");
    println!("{let}", let = r#type);
    println!("{let}", r#let = r#type);
}