diff --git a/src/expr.rs b/src/expr.rs index a1fe1153e55..9aafd71dd22 100644 --- a/src/expr.rs +++ b/src/expr.rs @@ -1547,7 +1547,7 @@ pub fn span_ends_with_comma(context: &RewriteContext, span: Span) -> bool { for (kind, c) in CharClasses::new(context.snippet(span).chars()) { match c { _ if kind.is_comment() || c.is_whitespace() => continue, - ')' | '}' => result = result && prev_char != c, + ')' | '}' => result = result && prev_char != ')' && prev_char != '}', ',' => result = true, _ => result = false, } diff --git a/src/matches.rs b/src/matches.rs index 83ff70ea196..42f46608b52 100644 --- a/src/matches.rs +++ b/src/matches.rs @@ -13,8 +13,8 @@ use std::iter::repeat; use config::lists::*; -use syntax::{ast, ptr}; use syntax::codemap::{BytePos, Span}; +use syntax::{ast, ptr}; use codemap::SpanUtils; use comment::combine_strs_with_missing_comments; diff --git a/tests/target/issue-2551.rs b/tests/target/issue-2551.rs new file mode 100644 index 00000000000..d7b0d625b9e --- /dev/null +++ b/tests/target/issue-2551.rs @@ -0,0 +1,3 @@ +mcro!(func(A { + a: 12345667800111111111111, +}));