diff options
| author | Dylan DPC <99973273+Dylan-DPC@users.noreply.github.com> | 2022-04-19 22:57:40 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-19 22:57:40 +0200 |
| commit | a0ba15bfab46c987f910449f44ad8db9cdd0cea7 (patch) | |
| tree | d122b8a0ecd4b1be0e3931f65748b0a55d04784b | |
| parent | 69e45d73b9435e20aa33c8b2ba559e478412974c (diff) | |
| parent | f7ce145d83311f7d288d1169376bbcc5f88ea5f9 (diff) | |
| download | rust-a0ba15bfab46c987f910449f44ad8db9cdd0cea7.tar.gz rust-a0ba15bfab46c987f910449f44ad8db9cdd0cea7.zip | |
Rollup merge of #95813 - Urgau:rustdoc-where-clause-space, r=GuillaumeGomez
Remove extra space before a where clause Remove extra space before where clause in the generated documentation. The fix is to move the space before the break-line so that it doesn't appear visually but is still here. Removing it completely would create things like this `impl<D> Delta<D>where D: MyTrait` (missing a space before the where) which I don't think we want. Added two regression test, first one test that the `<br>` is after the space and the second check that the `<br>` is before the spaces. Before:  After:  r? ``@GuillaumeGomez``
| -rw-r--r-- | src/librustdoc/html/format.rs | 3 | ||||
| -rw-r--r-- | src/test/rustdoc/where.SWhere_Simd_item-decl.html | 1 | ||||
| -rw-r--r-- | src/test/rustdoc/where.SWhere_TraitWhere_item-decl.html | 3 | ||||
| -rw-r--r-- | src/test/rustdoc/where.rs | 13 |
4 files changed, 19 insertions, 1 deletions
diff --git a/src/librustdoc/html/format.rs b/src/librustdoc/html/format.rs index 6954e2363f5..fd6d675dc8b 100644 --- a/src/librustdoc/html/format.rs +++ b/src/librustdoc/html/format.rs @@ -370,7 +370,8 @@ crate fn print_where_clause<'a, 'tcx: 'a>( clause = clause.replace("<br>", &format!("<br>{}", padding)); clause.insert_str(0, &" ".repeat(indent.saturating_sub(1))); if !end_newline { - clause.insert_str(0, "<br>"); + // we insert the <br> after a single space but before multiple spaces at the start + clause.insert_str(if indent == 0 { 1 } else { 0 }, "<br>"); } } write!(f, "{}", clause) diff --git a/src/test/rustdoc/where.SWhere_Simd_item-decl.html b/src/test/rustdoc/where.SWhere_Simd_item-decl.html new file mode 100644 index 00000000000..0133bcaeb66 --- /dev/null +++ b/src/test/rustdoc/where.SWhere_Simd_item-decl.html @@ -0,0 +1 @@ +<div class="docblock item-decl"><pre class="rust struct"><code>pub struct Simd<T>(_) <br /><span class="where">where<br />    T: <a class="trait" href="trait.MyTrait.html" title="trait foo::MyTrait">MyTrait</a></span>;</code></pre></div> \ No newline at end of file diff --git a/src/test/rustdoc/where.SWhere_TraitWhere_item-decl.html b/src/test/rustdoc/where.SWhere_TraitWhere_item-decl.html new file mode 100644 index 00000000000..54026ff034e --- /dev/null +++ b/src/test/rustdoc/where.SWhere_TraitWhere_item-decl.html @@ -0,0 +1,3 @@ +<div class="docblock item-decl"><pre class="rust trait"><code>pub trait TraitWhere { + type <a href="#associatedtype.Item" class="associatedtype">Item</a><'a><br />    <span class="where">where<br />        Self: 'a</span>; +}</code></pre></div> \ No newline at end of file diff --git a/src/test/rustdoc/where.rs b/src/test/rustdoc/where.rs index 549cfff96cb..50a5722fbaf 100644 --- a/src/test/rustdoc/where.rs +++ b/src/test/rustdoc/where.rs @@ -1,3 +1,4 @@ +#![feature(generic_associated_types)] #![crate_name = "foo"] pub trait MyTrait { fn dummy(&self) { } } @@ -19,6 +20,18 @@ impl<D> Delta<D> where D: MyTrait { pub struct Echo<E>(E); +// @has 'foo/struct.Simd.html' +// @snapshot SWhere_Simd_item-decl - '//div[@class="docblock item-decl"]' +pub struct Simd<T>([T; 1]) +where + T: MyTrait; + +// @has 'foo/trait.TraitWhere.html' +// @snapshot SWhere_TraitWhere_item-decl - '//div[@class="docblock item-decl"]' +pub trait TraitWhere { + type Item<'a> where Self: 'a; +} + // @has foo/struct.Echo.html '//*[@class="impl has-srclink"]//h3[@class="code-header in-band"]' \ // "impl<E> MyTrait for Echo<E> where E: MyTrait" // @has foo/trait.MyTrait.html '//*[@id="implementors-list"]//h3[@class="code-header in-band"]' \ |
