diff options
| -rw-r--r-- | src/librustdoc/html/format.rs | 2 | ||||
| -rw-r--r-- | src/librustdoc/html/render.rs | 11 | ||||
| -rw-r--r-- | src/test/rustdoc/double-quote-escape.rs | 23 | ||||
| -rw-r--r-- | src/tools/linkchecker/main.rs | 1 |
4 files changed, 31 insertions, 6 deletions
diff --git a/src/librustdoc/html/format.rs b/src/librustdoc/html/format.rs index 18d6b1cc1e0..2f5150d799f 100644 --- a/src/librustdoc/html/format.rs +++ b/src/librustdoc/html/format.rs @@ -601,7 +601,7 @@ fn fmt_type(t: &clean::Type, f: &mut fmt::Formatter, use_absolute: bool) -> fmt: clean::Primitive(prim) => primitive_link(f, prim, prim.as_str()), clean::BareFunction(ref decl) => { if f.alternate() { - write!(f, "{}{}fn{:#}{:#}", + write!(f, "{}{:#}fn{:#}{:#}", UnsafetySpace(decl.unsafety), AbiSpace(decl.abi), decl.generics, diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index cf557b1c661..5e7d4a8bc04 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -2292,8 +2292,8 @@ fn item_function(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item, f.generics).len(); write!(w, "{}<pre class='rust fn'>", render_spotlight_traits(it)?)?; render_attributes(w, it)?; - write!(w, "{vis}{constness}{unsafety}{abi}fn \ - {name}{generics}{decl}{where_clause}</pre>", + write!(w, + "{vis}{constness}{unsafety}{abi}fn {name}{generics}{decl}{where_clause}</pre>", vis = VisSpace(&it.visibility), constness = ConstnessSpace(f.constness), unsafety = UnsafetySpace(f.unsafety), @@ -2302,9 +2302,9 @@ fn item_function(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item, generics = f.generics, where_clause = WhereClause { gens: &f.generics, indent: 0, end_newline: true }, decl = Method { - decl: &f.decl, - name_len, - indent: 0, + decl: &f.decl, + name_len, + indent: 0, })?; document(w, cx, it) } @@ -3658,6 +3658,7 @@ fn small_url_encode(s: &str) -> String { .replace(";", "%3B") .replace("[", "%5B") .replace("]", "%5D") + .replace("\"", "%22") } fn sidebar_assoc_items(it: &clean::Item) -> String { diff --git a/src/test/rustdoc/double-quote-escape.rs b/src/test/rustdoc/double-quote-escape.rs new file mode 100644 index 00000000000..46e2ca8c760 --- /dev/null +++ b/src/test/rustdoc/double-quote-escape.rs @@ -0,0 +1,23 @@ +// Copyright 2017 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. + +#![crate_name = "foo"] + +// ignore-tidy-linelength + +pub trait Foo<T> { + fn foo() {} +} + +pub struct Bar; + +// @has foo/struct.Bar.html +// @has - '//*[@class="sidebar-links"]/a[@href="#impl-Foo%3Cunsafe%20extern%20%22C%22%20fn()%3E"]' 'Foo<unsafe extern "C" fn()>' +impl Foo<unsafe extern "C" fn()> for Bar {} diff --git a/src/tools/linkchecker/main.rs b/src/tools/linkchecker/main.rs index e0153e1e6f6..3b0925d3ef6 100644 --- a/src/tools/linkchecker/main.rs +++ b/src/tools/linkchecker/main.rs @@ -81,6 +81,7 @@ fn small_url_encode(s: &str) -> String { .replace(";", "%3B") .replace("[", "%5B") .replace("]", "%5D") + .replace("\"", "%22") } impl FileEntry { |
