Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit ac150d0

Browse files
calebcartwrighttopecongiro
authored andcommitted
fix: remove trailing space with empty dyn macro arg (rust-lang#3737)
1 parent e653ff0 commit ac150d0

File tree

4 files changed

+23
-2
lines changed

4 files changed

+23
-2
lines changed

src/macros.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -303,9 +303,9 @@ fn rewrite_macro_inner(
303303

304304
if DelimToken::Brace != style {
305305
loop {
306-
if let Some(arg) = parse_macro_arg(&mut parser) {
306+
if let Some(arg) = check_keyword(&mut parser) {
307307
arg_vec.push(arg);
308-
} else if let Some(arg) = check_keyword(&mut parser) {
308+
} else if let Some(arg) = parse_macro_arg(&mut parser) {
309309
arg_vec.push(arg);
310310
} else {
311311
return return_macro_parse_failure_fallback(context, shape.indent, mac.span);

src/overflow.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ impl<'a> OverflowableItem<'a> {
122122
pub(crate) fn is_simple(&self) -> bool {
123123
match self {
124124
OverflowableItem::Expr(expr) => is_simple_expr(expr),
125+
OverflowableItem::MacroArg(MacroArg::Keyword(..)) => true,
125126
OverflowableItem::MacroArg(MacroArg::Expr(expr)) => is_simple_expr(expr),
126127
OverflowableItem::NestedMetaItem(nested_meta_item) => match nested_meta_item {
127128
ast::NestedMetaItem::Literal(..) => true,

tests/source/issue-3709.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// rustfmt-edition: 2018
2+
3+
macro_rules! token {
4+
($t:tt) => {};
5+
}
6+
7+
fn main() {
8+
token!(dyn);
9+
token!(dyn );
10+
}

tests/target/issue-3709.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// rustfmt-edition: 2018
2+
3+
macro_rules! token {
4+
($t:tt) => {};
5+
}
6+
7+
fn main() {
8+
token!(dyn);
9+
token!(dyn);
10+
}

0 commit comments

Comments
 (0)