diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 11f80155085..7b67868680f 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -565,9 +565,16 @@ impl DocFolder for Cache { clean::StructItem(..) | clean::EnumItem(..) | clean::TypedefItem(..) | clean::TraitItem(..) | clean::FunctionItem(..) | clean::ModuleItem(..) | - clean::ForeignFunctionItem(..) | clean::VariantItem(..) => { + clean::ForeignFunctionItem(..) => { self.paths.insert(item.id, (self.stack.clone(), shortty(&item))); } + // link variants to their parent enum because pages aren't emitted + // for each variant + clean::VariantItem(..) => { + let mut stack = self.stack.clone(); + stack.pop(); + self.paths.insert(item.id, (stack, "enum")); + } _ => {} }