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 or the MIT license
+// , 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;