();
write!(w, "{vis}{constness}{unsafety}{abi}fn \
{name}{generics}{decl}{where_clause}
",
vis = VisSpace(&it.visibility),
@@ -1984,7 +1992,7 @@ fn item_function(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
name = it.name.as_ref().unwrap(),
generics = f.generics,
where_clause = WhereClause(&f.generics),
- decl = f.decl)?;
+ decl = Method(&f.decl, &indent))?;
document(w, cx, it)
}
@@ -2254,6 +2262,13 @@ fn render_assoc_item(w: &mut fmt::Formatter,
UnstableFeatures::Allow => constness,
_ => hir::Constness::NotConst
};
+ let prefix = format!("{}{}{:#}fn {}{:#}",
+ ConstnessSpace(vis_constness),
+ UnsafetySpace(unsafety),
+ AbiSpace(abi),
+ name,
+ *g);
+ let indent = repeat(" ").take(prefix.len()).collect::();
write!(w, "{}{}{}fn {name}\
{generics}{decl}{where_clause}",
ConstnessSpace(vis_constness),
@@ -2262,7 +2277,7 @@ fn render_assoc_item(w: &mut fmt::Formatter,
href = href,
name = name,
generics = *g,
- decl = Method(d),
+ decl = Method(d, &indent),
where_clause = WhereClause(g))
}
match item.inner {
diff --git a/src/test/rustdoc/line-breaks.rs b/src/test/rustdoc/line-breaks.rs
new file mode 100644
index 0000000000000..cc608a2447574
--- /dev/null
+++ b/src/test/rustdoc/line-breaks.rs
@@ -0,0 +1,21 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 or the MIT license
+// , at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name = "foo"]
+
+//@count foo/fn.function_with_a_really_long_name.html //pre/br 2
+pub fn function_with_a_really_long_name(parameter_one: i32,
+ parameter_two: i32)
+ -> Option {
+ Some(parameter_one + parameter_two)
+}
+
+//@count foo/fn.short_name.html //pre/br 0
+pub fn short_name(param: i32) -> i32 { param + 1 }