diff --git a/src/librustdoc/html/layout.rs b/src/librustdoc/html/layout.rs
index a60e7cb10fa51..170b7ef2fce37 100644
--- a/src/librustdoc/html/layout.rs
+++ b/src/librustdoc/html/layout.rs
@@ -17,6 +17,7 @@ pub(crate) struct Layout {
pub(crate) external_html: ExternalHtml,
pub(crate) default_settings: FxHashMap,
pub(crate) krate: String,
+ pub(crate) crate_version: String,
/// The given user css file which allow to customize the generated
/// documentation theme.
pub(crate) css_file_extension: Option,
diff --git a/src/librustdoc/html/render/context.rs b/src/librustdoc/html/render/context.rs
index 5cefe9475e775..6621c73c283e7 100644
--- a/src/librustdoc/html/render/context.rs
+++ b/src/librustdoc/html/render/context.rs
@@ -472,6 +472,7 @@ impl<'tcx> FormatRenderer<'tcx> for Context<'tcx> {
external_html,
default_settings,
krate: krate.name(tcx).to_string(),
+ crate_version: cache.crate_version.clone().unwrap_or_default(),
css_file_extension: extension_css,
scrape_examples_extension: !call_locations.is_empty(),
};
diff --git a/src/librustdoc/html/static/js/main.js b/src/librustdoc/html/static/js/main.js
index f52229d809536..c63d02d8cafa0 100644
--- a/src/librustdoc/html/static/js/main.js
+++ b/src/librustdoc/html/static/js/main.js
@@ -1149,7 +1149,9 @@ function loadCss(cssUrl) {
onEach(parent.childNodes, child => {
if (child.tagName === "A") {
- path.push(child.textContent);
+ const crate_name = child.textContent;
+ const crate_version = getVar("current-crate-version");
+ path.push(`${crate_name} = "${crate_version}"`);
}
});
diff --git a/src/librustdoc/html/templates/page.html b/src/librustdoc/html/templates/page.html
index fddda293b9a86..28162aae7f43b 100644
--- a/src/librustdoc/html/templates/page.html
+++ b/src/librustdoc/html/templates/page.html
@@ -135,6 +135,7 @@ {#- -#}
data-root-path="{{page.root_path|safe}}" {# -#}
data-static-root-path="{{static_root_path|safe}}" {# -#}
data-current-crate="{{layout.krate}}" {# -#}
+ data-current-crate-version="{{layout.crate_version}}" {# -#}
data-themes="{{themes|join(",") }}" {# -#}
data-resource-suffix="{{page.resource_suffix}}" {# -#}
data-rustdoc-version="{{rustdoc_version}}" {# -#}