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.
This commit is contained in:
ayazhafiz 2020-10-13 16:11:51 -05:00
parent d65c08e9cc
commit abfbd1bd71
2 changed files with 13 additions and 1 deletions

View File

@ -2289,7 +2289,7 @@ fn item_static(w: &mut Buffer, cx: &Context, it: &clean::Item, s: &clean::Static
render_attributes(w, it, false); render_attributes(w, it, false);
write!( write!(
w, w,
"{vis}static {mutability} {name}: {typ}</pre>", "{vis}static {mutability}{name}: {typ}</pre>",
vis = it.visibility.print_with_space(), vis = it.visibility.print_with_space(),
mutability = s.mutability.print_with_space(), mutability = s.mutability.print_with_space(),
name = it.name.as_ref().unwrap(), name = it.name.as_ref().unwrap(),

View File

@ -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;