From 41c393c7516d4c1d5d8ad29fa177b43fb620b211 Mon Sep 17 00:00:00 2001 From: Ingvar Stepanyan Date: Sun, 28 Jan 2018 19:08:09 +0000 Subject: [PATCH] Keep delimiter as part of macro args list --- src/macros.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/macros.rs b/src/macros.rs index 2f7c4262b6b5..10f03e95c2f4 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -324,7 +324,7 @@ pub fn rewrite_macro_def( return snippet; } - let args = format!("({})", format_macro_args(branch.args)?); + let args = format_macro_args(branch.args)?; if multi_branch_style { result += "\n"; @@ -758,10 +758,12 @@ impl MacroParser { // `(` ... `)` `=>` `{` ... `}` fn parse_branch(&mut self) -> Option { - let (args_paren_kind, args) = match self.toks.next()? { + let tok = self.toks.next()?; + let args_paren_kind = match tok { TokenTree::Token(..) => return None, - TokenTree::Delimited(_, ref d) => (d.delim, d.tts.clone()), + TokenTree::Delimited(_, ref d) => d.delim, }; + let args = tok.joint().into(); match self.toks.next()? { TokenTree::Token(_, Token::FatArrow) => {} _ => return None,