diff options
| author | Nick Cameron <nrc@ncameron.org> | 2018-08-31 10:43:06 +1200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-08-31 10:43:06 +1200 |
| commit | d88139893f71801ee7262db999832e6bbab02cc2 (patch) | |
| tree | b8ef3cfe84790c4bb6397ffabf88bfe2db532012 | |
| parent | 68015ecf52066bb5d624cda01c580854a042e30f (diff) | |
| parent | ad903e08fdaac65a7567c952a1191a14413ec00d (diff) | |
Merge pull request #2981 from topecongiro/issue-2956
Keep formatting fn even if there is an unformattable argument
| -rw-r--r-- | src/items.rs | 6 | ||||
| -rw-r--r-- | tests/source/fn-simple.rs | 5 | ||||
| -rw-r--r-- | tests/target/fn-simple.rs | 9 |
3 files changed, 18 insertions, 2 deletions
diff --git a/src/items.rs b/src/items.rs index ff635137e42..7f8980dd150 100644 --- a/src/items.rs +++ b/src/items.rs @@ -2232,8 +2232,10 @@ fn rewrite_args( ) -> Option<String> { let mut arg_item_strs = args .iter() - .map(|arg| arg.rewrite(context, Shape::legacy(multi_line_budget, arg_indent))) - .collect::<Option<Vec<_>>>()?; + .map(|arg| { + arg.rewrite(context, Shape::legacy(multi_line_budget, arg_indent)) + .unwrap_or_else(|| context.snippet(arg.span()).to_owned()) + }).collect::<Vec<_>>(); // Account for sugary self. // FIXME: the comment for the self argument is dropped. This is blocked diff --git a/tests/source/fn-simple.rs b/tests/source/fn-simple.rs index 7afc0a1d201..855332d137d 100644 --- a/tests/source/fn-simple.rs +++ b/tests/source/fn-simple.rs @@ -67,3 +67,8 @@ crate fn init() {} // #2630 fn make_map<T, F: (Fn(&T) -> String)>(records: &Vec<T>, key_fn: F) -> HashMap<String, usize> {} + +// #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 60b18a978ed..f35c5d8a0ed 100644 --- a/tests/target/fn-simple.rs +++ b/tests/target/fn-simple.rs @@ -108,3 +108,12 @@ crate fn init() {} // #2630 fn make_map<T, F: (Fn(&T) -> String)>(records: &Vec<T>, key_fn: F) -> HashMap<String, usize> {} + +// #2956 +fn bar( + beans: Asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf, + spam: bool, + eggs: bool, +) -> bool { + unimplemented!(); +} |
