about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libsyntax/ext/tt/macro_rules.rs5
-rw-r--r--src/test/ui/macros/issue-63102.rs8
2 files changed, 12 insertions, 1 deletions
diff --git a/src/libsyntax/ext/tt/macro_rules.rs b/src/libsyntax/ext/tt/macro_rules.rs
index 2a2df76d30c..81c5ef135b2 100644
--- a/src/libsyntax/ext/tt/macro_rules.rs
+++ b/src/libsyntax/ext/tt/macro_rules.rs
@@ -282,7 +282,10 @@ pub fn compile(
         quoted::TokenTree::Sequence(
             DelimSpan::dummy(),
             Lrc::new(quoted::SequenceRepetition {
-                tts: vec![quoted::TokenTree::token(token::Semi, def.span)],
+                tts: vec![quoted::TokenTree::token(
+                    if body.legacy { token::Semi } else { token::Comma },
+                    def.span,
+                )],
                 separator: None,
                 kleene: quoted::KleeneToken::new(quoted::KleeneOp::ZeroOrMore, def.span),
                 num_captures: 0,
diff --git a/src/test/ui/macros/issue-63102.rs b/src/test/ui/macros/issue-63102.rs
new file mode 100644
index 00000000000..6af5b186806
--- /dev/null
+++ b/src/test/ui/macros/issue-63102.rs
@@ -0,0 +1,8 @@
+// check-pass
+
+#![feature(decl_macro)]
+macro foo {
+    () => {},
+}
+
+fn main() {}