about summary refs log tree commit diff
diff options
context:
space:
mode:
authorayazhafiz <ayaz.hafiz.1@gmail.com>2020-10-13 16:11:51 -0500
committerayazhafiz <ayaz.hafiz.1@gmail.com>2020-10-13 16:21:55 -0500
commitabfbd1bd719bd1440132ead24ec64c0acd293f41 (patch)
treecd793b32d7d4277b528e11954d19af370866fc90
parentd65c08e9cc164b7b44de53503fae859a4fafd976 (diff)
downloadrust-abfbd1bd719bd1440132ead24ec64c0acd293f41.tar.gz
rust-abfbd1bd719bd1440132ead24ec64c0acd293f41.zip
Avoid extraneous space between visibility kw and ident for statics
Today, given a static like `static mut FOO: usize = 1`, rustdoc would
emit `static mut  FOO: usize = 1`, as it emits both the mutability kw
with a space and reserves a space after the mutability kw. This patch
fixes that misformatting.

This patch also adds some tests for emit of other statics, as I could
not find an existing test devoted to statics.
-rw-r--r--src/librustdoc/html/render/mod.rs2
-rw-r--r--src/test/rustdoc/static.rs12
2 files changed, 13 insertions, 1 deletions
diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs
index 76334f0213d..97d0a4d4e7d 100644
--- a/src/librustdoc/html/render/mod.rs
+++ b/src/librustdoc/html/render/mod.rs
@@ -2289,7 +2289,7 @@ fn item_static(w: &mut Buffer, cx: &Context, it: &clean::Item, s: &clean::Static
     render_attributes(w, it, false);
     write!(
         w,
-        "{vis}static {mutability} {name}: {typ}</pre>",
+        "{vis}static {mutability}{name}: {typ}</pre>",
         vis = it.visibility.print_with_space(),
         mutability = s.mutability.print_with_space(),
         name = it.name.as_ref().unwrap(),
diff --git a/src/test/rustdoc/static.rs b/src/test/rustdoc/static.rs
new file mode 100644
index 00000000000..aa48644918d
--- /dev/null
+++ b/src/test/rustdoc/static.rs
@@ -0,0 +1,12 @@
+// compile-flags: --document-private-items
+
+#![crate_type = "lib"]
+
+// @has static/static.FOO.html '//pre[@class="static"]' 'static FOO: usize'
+static FOO: usize = 1;
+
+// @has static/static.BAR.html '//pre[@class="static"]' 'pub static BAR: usize'
+pub static BAR: usize = 1;
+
+// @has static/static.BAZ.html '//pre[@class="static"]' 'pub static mut BAZ: usize'
+pub static mut BAZ: usize = 1;