diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js
index 68035e5abe4c2..de7e4d2483b43 100644
--- a/src/librustdoc/html/static/main.js
+++ b/src/librustdoc/html/static/main.js
@@ -577,10 +577,6 @@
displayPath = item.path + '::';
href = rootPath + item.path.replace(/::/g, '/') + '/' +
name + '/index.html';
- } else if (type === 'static' || type === 'reexport') {
- displayPath = item.path + '::';
- href = rootPath + item.path.replace(/::/g, '/') +
- '/index.html';
} else if (type === "primitive") {
displayPath = "";
href = rootPath + item.path.replace(/::/g, '/') +
@@ -591,9 +587,14 @@
} else if (item.parent !== undefined) {
var myparent = item.parent;
var anchor = '#' + type + '.' + name;
- displayPath = item.path + '::' + myparent.name + '::';
+ var parentType = itemTypes[myparent.ty];
+ if (parentType === "primitive") {
+ displayPath = myparent.name + '::';
+ } else {
+ displayPath = item.path + '::' + myparent.name + '::';
+ }
href = rootPath + item.path.replace(/::/g, '/') +
- '/' + itemTypes[myparent.ty] +
+ '/' + parentType +
'.' + myparent.name +
'.html' + anchor;
} else {