summaryrefslogtreecommitdiffstats
path: root/tests/ui/rfcs/rfc-3348-c-string-literals/edition-2015-2018-lexing.rs
blob: 2a4cd60042609923d521f17af68c382646fda938 (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
// Regression test for issue #113235.

// check-pass
// revisions: edition2015 edition2018
//[edition2015] edition: 2015
//[edition2018] edition: 2018

// Make sure that in pre-2021 editions we continue to parse the snippet
// `c"hello"` as an identifier followed by a (normal) string literal and
// allow the code below to compile.
// Prefixes including `c` as used by C string literals are only reserved
// in edition 2021 and onward.
//
// Consider checking out rust-2021/reserved-prefixes-migration.rs as well.

macro_rules! parse {
    (c $e:expr) => {
        $e
    };
}

fn main() {
    let _: &'static str = parse!(c"hello");
}