From 20010d759718ade4ae33a173539ff808854ac269 Mon Sep 17 00:00:00 2001 From: Michael Howell Date: Thu, 5 May 2022 17:20:14 -0700 Subject: rustdoc: ensure HTML/JS side implementors don't have dups --- src/librustdoc/html/static/js/main.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/librustdoc/html/static') diff --git a/src/librustdoc/html/static/js/main.js b/src/librustdoc/html/static/js/main.js index 1dfd9c762c4..272b129362d 100644 --- a/src/librustdoc/html/static/js/main.js +++ b/src/librustdoc/html/static/js/main.js @@ -756,8 +756,14 @@ function loadCss(cssFileName) { const traitName = document.querySelector("h1.fqn > .in-band > .trait").textContent; const baseIdName = "impl-" + traitName + "-"; const libs = Object.getOwnPropertyNames(imp); + // We don't want to include impls from this JS file, when the HTML already has them. + // The current crate should always be ignored. Other crates that should also be + // ignored are included in the attribute `data-ignore-extern-crates`. + const ignoreExternCrates = document + .querySelector("script[data-ignore-extern-crates]") + .getAttribute("data-ignore-extern-crates"); for (const lib of libs) { - if (lib === window.currentCrate) { + if (lib === window.currentCrate || ignoreExternCrates.indexOf(lib) !== -1) { continue; } const structs = imp[lib]; -- cgit 1.4.1-3-g733a5