about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorkennytm <kennytm@gmail.com>2017-12-02 01:38:58 +0800
committerGitHub <noreply@github.com>2017-12-02 01:38:58 +0800
commitbc8e8fabbff6c3c481b980dc42f0afd8ff3c2e10 (patch)
tree16edcbb6659a47d7e65f0bca6d9dfc4e1d59387d /src
parentae243662511cf35b4d3e0053ba2515483ce8ccaa (diff)
parent91a41069115c70f95509fadae70e67c0effbed93 (diff)
downloadrust-bc8e8fabbff6c3c481b980dc42f0afd8ff3c2e10.tar.gz
rust-bc8e8fabbff6c3c481b980dc42f0afd8ff3c2e10.zip
Rollup merge of #46387 - chrisduerr:master, r=QuietMisdreavus
Fix rustdoc item summaries that are headers

Rustoc item summaries that are headers were not displayed at all because
they started with whitespace.

This PR fixes this and now removes the whitespace and then displays the
block.

I'm not sure if the rustdoc test is written correctly, if there's anything to improve, just let me know. :)

This fixes #46377.

This is how it looks when rendered out now:
![Rendered](https://i.imgur.com/7u8jUAM.png)
Diffstat (limited to 'src')
-rw-r--r--src/librustdoc/html/render.rs4
-rw-r--r--src/test/rustdoc/issue-46377.rs13
2 files changed, 16 insertions, 1 deletions
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs
index cf557b1c661..41918dfd3c3 100644
--- a/src/librustdoc/html/render.rs
+++ b/src/librustdoc/html/render.rs
@@ -1819,7 +1819,9 @@ fn full_path(cx: &Context, item: &clean::Item) -> String {
 
 fn shorter<'a>(s: Option<&'a str>) -> String {
     match s {
-        Some(s) => s.lines().take_while(|line|{
+        Some(s) => s.lines()
+            .skip_while(|s| s.chars().all(|c| c.is_whitespace()))
+            .take_while(|line|{
             (*line).chars().any(|chr|{
                 !chr.is_whitespace()
             })
diff --git a/src/test/rustdoc/issue-46377.rs b/src/test/rustdoc/issue-46377.rs
new file mode 100644
index 00000000000..db8c7660df1
--- /dev/null
+++ b/src/test/rustdoc/issue-46377.rs
@@ -0,0 +1,13 @@
+// Copyright 2015 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 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// @has 'issue_46377/index.html' '//*[@class="docblock-short"]' 'Check out this struct!'
+/// # Check out this struct!
+pub struct SomeStruct;