summaryrefslogtreecommitdiffstats
path: root/tests/ui/rfcs/rfc-3348-c-string-literals/edition-2015-2018-lexing.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/rfcs/rfc-3348-c-string-literals/edition-2015-2018-lexing.rs')
-rw-r--r--tests/ui/rfcs/rfc-3348-c-string-literals/edition-2015-2018-lexing.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/ui/rfcs/rfc-3348-c-string-literals/edition-2015-2018-lexing.rs b/tests/ui/rfcs/rfc-3348-c-string-literals/edition-2015-2018-lexing.rs
new file mode 100644
index 000000000..2a4cd6004
--- /dev/null
+++ b/tests/ui/rfcs/rfc-3348-c-string-literals/edition-2015-2018-lexing.rs
@@ -0,0 +1,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");
+}