Skip to content

Commit f0cb0eb

Browse files
committed
rustdoc: Fixup links to enum variants
Pages aren't emitted for enum variants, so whenever we're linking to an enum variant instead link to the parent enum instead. Closes #12289
1 parent 74f3e04 commit f0cb0eb

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/librustdoc/html/render.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -565,9 +565,16 @@ impl DocFolder for Cache {
565565
clean::StructItem(..) | clean::EnumItem(..) |
566566
clean::TypedefItem(..) | clean::TraitItem(..) |
567567
clean::FunctionItem(..) | clean::ModuleItem(..) |
568-
clean::ForeignFunctionItem(..) | clean::VariantItem(..) => {
568+
clean::ForeignFunctionItem(..) => {
569569
self.paths.insert(item.id, (self.stack.clone(), shortty(&item)));
570570
}
571+
// link variants to their parent enum because pages aren't emitted
572+
// for each variant
573+
clean::VariantItem(..) => {
574+
let mut stack = self.stack.clone();
575+
stack.pop();
576+
self.paths.insert(item.id, (stack, "enum"));
577+
}
571578
_ => {}
572579
}
573580

0 commit comments

Comments
 (0)