diff --git a/src/librustdoc/html/format.rs b/src/librustdoc/html/format.rs index 7131e993d77..853741db7ae 100644 --- a/src/librustdoc/html/format.rs +++ b/src/librustdoc/html/format.rs @@ -657,7 +657,6 @@ impl<'a> fmt::Display for Method<'a> { let decl = self.0; let mut args = String::new(); for (i, input) in decl.inputs.values.iter().enumerate() { - if i > 0 || !args.is_empty() { args.push_str(", "); } if let Some(selfty) = input.to_self() { match selfty { clean::SelfValue => args.push_str("self"), @@ -672,11 +671,16 @@ impl<'a> fmt::Display for Method<'a> { } } } else { + args.push_str("\n "); if !input.name.is_empty() { args.push_str(&format!("{}: ", input.name)); } args.push_str(&format!("{}", input.type_)); } + if i + 1 < decl.inputs.values.len() { args.push_str(","); } + } + if let Some(None) = decl.inputs.values.iter().last().map(|val| val.to_self()) { + args.push_str("\n"); } write!(f, "({args}){arrow}", args = args, arrow = decl.output) }