From 789a097a7142e098069e9203f9c2da16267d8826 Mon Sep 17 00:00:00 2001 From: rChaser53 Date: Sun, 15 Sep 2019 23:45:46 +0900 Subject: [PATCH] fix internal error when using rustfmt::skip with newline on stmt (#3785) --- src/expr.rs | 5 +++++ tests/target/issue-3717.rs | 7 +++++++ 2 files changed, 12 insertions(+) create mode 100644 tests/target/issue-3717.rs diff --git a/src/expr.rs b/src/expr.rs index 36d7b91d102..2a1d40c9564 100644 --- a/src/expr.rs +++ b/src/expr.rs @@ -516,6 +516,11 @@ pub(crate) fn rewrite_block_with_visitor( let inner_attrs = attrs.map(inner_attributes); let label_str = rewrite_label(label); visitor.visit_block(block, inner_attrs.as_ref().map(|a| &**a), has_braces); + let visitor_context = visitor.get_context(); + context + .skipped_range + .borrow_mut() + .append(&mut visitor_context.skipped_range.borrow_mut()); Some(format!("{}{}{}", prefix, label_str, visitor.buffer)) } diff --git a/tests/target/issue-3717.rs b/tests/target/issue-3717.rs new file mode 100644 index 00000000000..b769cd3ecce --- /dev/null +++ b/tests/target/issue-3717.rs @@ -0,0 +1,7 @@ +fn main() { + { + #[rustfmt::skip] + let _ = + [1]; + } +}