From d8301050a539a184b25878c913a5651cfdcaa7d1 Mon Sep 17 00:00:00 2001 From: Seiichi Uchida Date: Thu, 30 Aug 2018 23:38:40 +0900 Subject: [PATCH 1/2] Add a test for #2956 --- tests/source/fn-simple.rs | 5 +++++ tests/target/fn-simple.rs | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/tests/source/fn-simple.rs b/tests/source/fn-simple.rs index 7afc0a1d201a..855332d137d3 100644 --- a/tests/source/fn-simple.rs +++ b/tests/source/fn-simple.rs @@ -67,3 +67,8 @@ pub(crate) fn init() {} // #2630 fn make_map String)>(records: &Vec, key_fn: F) -> HashMap {} + +// #2956 +fn bar(beans: Asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf, spam: bool, eggs: bool) -> bool{ + unimplemented!(); +} diff --git a/tests/target/fn-simple.rs b/tests/target/fn-simple.rs index 60b18a978ed9..f35c5d8a0ed2 100644 --- a/tests/target/fn-simple.rs +++ b/tests/target/fn-simple.rs @@ -108,3 +108,12 @@ pub(crate) fn init() {} // #2630 fn make_map String)>(records: &Vec, key_fn: F) -> HashMap {} + +// #2956 +fn bar( + beans: Asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf, + spam: bool, + eggs: bool, +) -> bool { + unimplemented!(); +} From ad903e08fdaac65a7567c952a1191a14413ec00d Mon Sep 17 00:00:00 2001 From: Seiichi Uchida Date: Thu, 30 Aug 2018 23:39:39 +0900 Subject: [PATCH 2/2] Keep formatting fn even if there is an unformattable argument --- src/items.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/items.rs b/src/items.rs index ff635137e42d..7f8980dd1506 100644 --- a/src/items.rs +++ b/src/items.rs @@ -2232,8 +2232,10 @@ fn rewrite_args( ) -> Option { let mut arg_item_strs = args .iter() - .map(|arg| arg.rewrite(context, Shape::legacy(multi_line_budget, arg_indent))) - .collect::>>()?; + .map(|arg| { + arg.rewrite(context, Shape::legacy(multi_line_budget, arg_indent)) + .unwrap_or_else(|| context.snippet(arg.span()).to_owned()) + }).collect::>(); // Account for sugary self. // FIXME: the comment for the self argument is dropped. This is blocked