about summary refs log tree commit diff
diff options
context:
space:
mode:
authorQuietMisdreavus <grey@quietmisdreavus.net>2017-04-04 11:16:16 -0500
committerQuietMisdreavus <grey@quietmisdreavus.net>2017-04-04 11:16:16 -0500
commit5bffa0aa50f7456249e4ffdd3e7cbf72f743a56d (patch)
treee2d7063c157f5a3dfcbc5f689b66c293d0ba4e9e
parent6bc3d65948c3606c29beb8da359d2a45a36e5c15 (diff)
downloadrust-5bffa0aa50f7456249e4ffdd3e7cbf72f743a56d.tar.gz
rust-5bffa0aa50f7456249e4ffdd3e7cbf72f743a56d.zip
rustdoc: don't add a space before `{` on traits with where clauses
cc #41025
-rw-r--r--src/librustdoc/html/render.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs
index be69f6b8ec2..b1ac6a5127f 100644
--- a/src/librustdoc/html/render.rs
+++ b/src/librustdoc/html/render.rs
@@ -2045,13 +2045,18 @@ fn item_trait(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
     // Output the trait definition
     write!(w, "<pre class='rust trait'>")?;
     render_attributes(w, it)?;
-    write!(w, "{}{}trait {}{}{}{} ",
+    write!(w, "{}{}trait {}{}{}",
            VisSpace(&it.visibility),
            UnsafetySpace(t.unsafety),
            it.name.as_ref().unwrap(),
            t.generics,
-           bounds,
-           WhereClause { gens: &t.generics, indent: 0, end_newline: true })?;
+           bounds)?;
+
+    if !t.generics.where_predicates.is_empty() {
+        write!(w, "{}", WhereClause { gens: &t.generics, indent: 0, end_newline: true })?;
+    } else {
+        write!(w, " ")?;
+    }
 
     let types = t.items.iter().filter(|m| m.is_associated_type()).collect::<Vec<_>>();
     let consts = t.items.iter().filter(|m| m.is_associated_const()).collect::<Vec<_>>();