From 0571bc42637a9f07c4efe7669c48898d6cc8e25e Mon Sep 17 00:00:00 2001 From: Michael Howell Date: Fri, 5 Mar 2021 11:20:31 -0700 Subject: [PATCH] Use substrings instead of split to grab enum variant paths Both versions are about equally readable, but this version avoids scanning the entire path and building an intermediate array (`split()` in Rust is a lazy iterator, but not in JavaScript). --- src/librustdoc/html/static/main.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index c9b8100fd0378..d5071cec0c83d 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -1548,9 +1548,9 @@ function defocusSearchBar() { } else if (type === "structfield" && parentType === "variant") { // Structfields belonging to variants are special: the // final path element is the enum name. - var splitPath = item.path.split("::"); - var enumName = splitPath.pop(); - path = splitPath.join("::"); + var enumNameIdx = item.path.lastIndexOf("::"); + var enumName = item.path.substr(enumNameIdx + 2); + path = item.path.substr(0, enumNameIdx); displayPath = path + "::" + enumName + "::" + myparent.name + "::"; anchor = "#variant." + myparent.name + ".field." + name; pageType = "enum";