about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2018-03-05 20:17:34 +0100
committerGuillaume Gomez <guillaume1.gomez@gmail.com>2018-03-05 23:39:34 +0100
commita628543891c94e0e9b7d1ac57dc7add832dcefea (patch)
treefaadbea894b906023d0c3f7ba0f4b1370be59be7
parente2746d870017c869b84fc56ecd63f5e4f9646c96 (diff)
downloadrust-a628543891c94e0e9b7d1ac57dc7add832dcefea.tar.gz
rust-a628543891c94e0e9b7d1ac57dc7add832dcefea.zip
Don't generate '[+]'/'[-]' on 'empty' traits
-rw-r--r--src/librustdoc/html/static/main.js25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js
index 960f2f198d8..36ca1e06f24 100644
--- a/src/librustdoc/html/static/main.js
+++ b/src/librustdoc/html/static/main.js
@@ -1776,22 +1776,33 @@
         referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
     }
 
+    function checkIfThereAreMethods(elems) {
+        var areThereMethods = false;
+
+        onEach(elems, function(e) {
+            if (hasClass(e, "method")) {
+                areThereMethods = true;
+                return true;
+            }
+        });
+        return areThereMethods;
+    }
+
     var toggle = document.createElement('a');
     toggle.href = 'javascript:void(0)';
     toggle.className = 'collapse-toggle';
-    toggle.innerHTML = "[<span class='inner'>"+labelForToggleButton(false)+"</span>]";
+    toggle.innerHTML = "[<span class='inner'>" + labelForToggleButton(false) + "</span>]";
 
     var func = function(e) {
         var next = e.nextElementSibling;
         if (!next) {
             return;
         }
-        if (hasClass(next, 'docblock') ||
-            (hasClass(next, 'stability') &&
-             hasClass(next.nextElementSibling, 'docblock'))) {
-            insertAfter(toggle.cloneNode(true), e.childNodes[e.childNodes.length - 1]);
-        }
-        if (hasClass(e, 'impl')) {
+        if (checkIfThereAreMethods(next.childNodes) &&
+            (hasClass(next, 'docblock') ||
+             hasClass(e, 'impl') ||
+             (hasClass(next, 'stability') &&
+              hasClass(next.nextElementSibling, 'docblock')))) {
             insertAfter(toggle.cloneNode(true), e.childNodes[e.childNodes.length - 1]);
         }
     }