about summary refs log tree commit diff
path: root/src/librustdoc/html
diff options
context:
space:
mode:
Diffstat (limited to 'src/librustdoc/html')
-rw-r--r--src/librustdoc/html/render/mod.rs4
-rw-r--r--src/librustdoc/html/static/main.js6
2 files changed, 6 insertions, 4 deletions
diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs
index 67ccf2137bf..b82967b403d 100644
--- a/src/librustdoc/html/render/mod.rs
+++ b/src/librustdoc/html/render/mod.rs
@@ -1305,7 +1305,7 @@ fn render_impl(
         if let Some(use_absolute) = use_absolute {
             write!(
                 w,
-                "<details class=\"rustdoc-toggle implementors-toggle\">\
+                "<details class=\"rustdoc-toggle implementors-toggle\" open>\
                      <summary>\
                          <h3 id=\"{}\" class=\"impl\"{}>\
                              <code class=\"in-band\">",
@@ -1334,7 +1334,7 @@ fn render_impl(
         } else {
             write!(
                 w,
-                "<details class=\"rustdoc-toggle implementors-toggle\">\
+                "<details class=\"rustdoc-toggle implementors-toggle\" open>\
                      <summary>\
                          <h3 id=\"{}\" class=\"impl\"{}>\
                              <code class=\"in-band\">{}</code>",
diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js
index d7e34ed02b3..7fbb97beae7 100644
--- a/src/librustdoc/html/static/main.js
+++ b/src/librustdoc/html/static/main.js
@@ -480,6 +480,8 @@ function hideThemeButtonState() {
                 }
                 // Open all ancestor <details> to make this element visible.
                 openParentDetails(h3.parentNode);
+            } else {
+                openParentDetails(elem.parentNode);
             }
         }
     }
@@ -1412,9 +1414,9 @@ function hideThemeButtonState() {
             // errors in mobile browsers).
             if (e.tagName === "H2" || e.tagName === "H3") {
                 var nextTagName = e.nextElementSibling.tagName;
-                if (nextTagName == "H2" || nextTagName == "H3") {
+                if (nextTagName === "H2" || nextTagName === "H3") {
                     e.nextElementSibling.style.display = "flex";
-                } else {
+                } else if (nextTagName !== "DETAILS") {
                     e.nextElementSibling.style.display = "block";
                 }
             }