Skip to content

Commit d881398

Browse files
authored
Merge pull request #2981 from topecongiro/issue-2956
Keep formatting fn even if there is an unformattable argument
2 parents 68015ec + ad903e0 commit d881398

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

src/items.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2232,8 +2232,10 @@ fn rewrite_args(
22322232
) -> Option<String> {
22332233
let mut arg_item_strs = args
22342234
.iter()
2235-
.map(|arg| arg.rewrite(context, Shape::legacy(multi_line_budget, arg_indent)))
2236-
.collect::<Option<Vec<_>>>()?;
2235+
.map(|arg| {
2236+
arg.rewrite(context, Shape::legacy(multi_line_budget, arg_indent))
2237+
.unwrap_or_else(|| context.snippet(arg.span()).to_owned())
2238+
}).collect::<Vec<_>>();
22372239

22382240
// Account for sugary self.
22392241
// FIXME: the comment for the self argument is dropped. This is blocked

tests/source/fn-simple.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,8 @@ crate fn init() {}
6767

6868
// #2630
6969
fn make_map<T, F: (Fn(&T) -> String)>(records: &Vec<T>, key_fn: F) -> HashMap<String, usize> {}
70+
71+
// #2956
72+
fn bar(beans: Asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf, spam: bool, eggs: bool) -> bool{
73+
unimplemented!();
74+
}

tests/target/fn-simple.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,3 +108,12 @@ crate fn init() {}
108108

109109
// #2630
110110
fn make_map<T, F: (Fn(&T) -> String)>(records: &Vec<T>, key_fn: F) -> HashMap<String, usize> {}
111+
112+
// #2956
113+
fn bar(
114+
beans: Asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf,
115+
spam: bool,
116+
eggs: bool,
117+
) -> bool {
118+
unimplemented!();
119+
}

0 commit comments

Comments
 (0)