1
Fork 0

Rollup merge of #58150 - GuillaumeGomez:dont-apply-impl-collapse-rules-to-trait-impls, r=Manishearth

Don't apply impl block collapse rules to trait impls

Fixes #58147.

r? @QuietMisdreavus
This commit is contained in:
Guillaume Gomez 2019-02-07 14:28:40 +01:00 committed by GitHub
commit da8da5e061
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1935,9 +1935,9 @@ if (!DOMTokenList.prototype.remove) {
};
}
function implHider(addOrRemove) {
function implHider(addOrRemove, fullHide) {
return function(n) {
var is_method = hasClass(n, "method");
var is_method = hasClass(n, "method") || fullHide;
if (is_method || hasClass(n, "type")) {
if (is_method === true) {
if (addOrRemove) {
@ -1991,7 +1991,7 @@ if (!DOMTokenList.prototype.remove) {
}
}
} else {
// we are collapsing the impl block
// we are collapsing the impl block(s).
var parentElem = toggle.parentNode;
relatedDoc = parentElem;
@ -2006,7 +2006,7 @@ if (!DOMTokenList.prototype.remove) {
return;
}
// Hide all functions, but not associated types/consts
// Hide all functions, but not associated types/consts.
if (mode === "toggle") {
if (hasClass(relatedDoc, "fns-now-collapsed") ||
@ -2017,16 +2017,17 @@ if (!DOMTokenList.prototype.remove) {
}
}
var dontApplyBlockRule = toggle.parentNode.parentNode.id !== "main";
if (action === "show") {
removeClass(relatedDoc, "fns-now-collapsed");
removeClass(docblock, "hidden-by-usual-hider");
onEachLazy(toggle.childNodes, adjustToggle(false));
onEachLazy(relatedDoc.childNodes, implHider(false));
onEachLazy(toggle.childNodes, adjustToggle(false, dontApplyBlockRule));
onEachLazy(relatedDoc.childNodes, implHider(false, dontApplyBlockRule));
} else if (action === "hide") {
addClass(relatedDoc, "fns-now-collapsed");
addClass(docblock, "hidden-by-usual-hider");
onEachLazy(toggle.childNodes, adjustToggle(true));
onEachLazy(relatedDoc.childNodes, implHider(true));
onEachLazy(toggle.childNodes, adjustToggle(true, dontApplyBlockRule);
onEachLazy(relatedDoc.childNodes, implHider(true, dontApplyBlockRule));
}
}
}