From 9de9693a4566bc60bf6d1c95fff762076fd82987 Mon Sep 17 00:00:00 2001 From: topecongiro Date: Fri, 27 Oct 2017 15:39:15 +0900 Subject: [PATCH] Add a test rustfmt fails to format a function call when it has a single closure argument and that closure has a block body which contains comments at the beginnig of the block, and the block only contains a single expression as its statement. Phew! --- tests/source/closure.rs | 11 ++++++++++- tests/target/closure.rs | 12 +++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/tests/source/closure.rs b/tests/source/closure.rs index 39059f40807..5bf17783842 100644 --- a/tests/source/closure.rs +++ b/tests/source/closure.rs @@ -41,7 +41,16 @@ fn main() { let closure_with_return_type = |aaaaaaaaaaaaaaaaaaaaaaarg1, aaaaaaaaaaaaaaaaaaaaaaarg2| -> Strong { "sup".to_owned() }; |arg1, arg2, _, _, arg3, arg4| { let temp = arg4 + arg3; - arg2 * arg1 - temp } + arg2 * arg1 - temp }; + + let block_body_with_comment = args.iter() + .map(|a| { + // Emitting only dep-info is possible only for final crate type, as + // as others may emit required metadata for dependent crate types + if a.starts_with("--emit") && is_final_crate_type && !self.workspace_mode { + "--emit=dep-info" + } else { a } + }); } fn issue311() { diff --git a/tests/target/closure.rs b/tests/target/closure.rs index 9d59bfb64cb..2005d85bf17 100644 --- a/tests/target/closure.rs +++ b/tests/target/closure.rs @@ -60,7 +60,17 @@ fn main() { |arg1, arg2, _, _, arg3, arg4| { let temp = arg4 + arg3; arg2 * arg1 - temp - } + }; + + let block_body_with_comment = args.iter().map(|a| { + // Emitting only dep-info is possible only for final crate type, as + // as others may emit required metadata for dependent crate types + if a.starts_with("--emit") && is_final_crate_type && !self.workspace_mode { + "--emit=dep-info" + } else { + a + } + }); } fn issue311() { -- 2.44.0