diff --git a/src/librustdoc/html/layout.rs b/src/librustdoc/html/layout.rs
index 7dfcc88398fa..780cda9b1cdf 100644
--- a/src/librustdoc/html/layout.rs
+++ b/src/librustdoc/html/layout.rs
@@ -69,6 +69,8 @@ struct PageLayout<'a> {
display_krate_version_extra: &'a str,
}
+pub(crate) use crate::html::render::sidebar::filters;
+
pub(crate) fn render(
layout: &Layout,
page: &Page<'_>,
diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs
index aaac8678264a..b5cc495ce41e 100644
--- a/src/librustdoc/html/render/mod.rs
+++ b/src/librustdoc/html/render/mod.rs
@@ -30,7 +30,7 @@ mod tests;
mod context;
mod print_item;
-mod sidebar;
+pub(crate) mod sidebar;
mod span_map;
mod type_layout;
mod write_shared;
diff --git a/src/librustdoc/html/render/sidebar.rs b/src/librustdoc/html/render/sidebar.rs
index 6e826446c0e0..101cc839f098 100644
--- a/src/librustdoc/html/render/sidebar.rs
+++ b/src/librustdoc/html/render/sidebar.rs
@@ -77,6 +77,22 @@ impl<'a> Link<'a> {
}
}
+pub(crate) mod filters {
+ use std::fmt::Display;
+
+ use rinja::filters::Safe;
+
+ use crate::html::escape::EscapeBodyTextWithWbr;
+ use crate::html::render::display_fn;
+ pub(crate) fn wrapped(v: T) -> rinja::Result>
+ where
+ T: Display,
+ {
+ let string = v.to_string();
+ Ok(Safe(display_fn(move |f| EscapeBodyTextWithWbr(&string).fmt(f))))
+ }
+}
+
pub(super) fn print_sidebar(cx: &Context<'_>, it: &clean::Item, buffer: &mut Buffer) {
let blocks: Vec> = match *it.kind {
clean::StructItem(ref s) => sidebar_struct(cx, it, s),
diff --git a/src/librustdoc/html/templates/page.html b/src/librustdoc/html/templates/page.html
index cdf01fa7a97e..65c4304e2020 100644
--- a/src/librustdoc/html/templates/page.html
+++ b/src/librustdoc/html/templates/page.html
@@ -98,7 +98,7 @@
{# #}
{% endif %}
{# #}
- {{display_krate}} {# #}
+ {{display_krate|wrapped|safe}} {# #}
{% if !display_krate_version_number.is_empty() %}
{{+ display_krate_version_number}}
{% endif %}
diff --git a/src/librustdoc/html/templates/sidebar.html b/src/librustdoc/html/templates/sidebar.html
index 3251b4c14c95..025220ab4159 100644
--- a/src/librustdoc/html/templates/sidebar.html
+++ b/src/librustdoc/html/templates/sidebar.html
@@ -1,6 +1,6 @@
{% if !title.is_empty() %}
{% endif %}