Skip to content

Commit 28ecfb6

Browse files
committed
Move ItemEnum → Generics logic into method on ItemEnum.
1 parent 012f45e commit 28ecfb6

File tree

2 files changed

+19
-11
lines changed

2 files changed

+19
-11
lines changed

src/librustdoc/clean/mod.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,23 @@ pub enum ItemEnum {
380380
StrippedItem(Box<ItemEnum>),
381381
}
382382

383+
impl ItemEnum {
384+
pub fn generics(&self) -> Option<&Generics> {
385+
Some(match *self {
386+
ItemEnum::StructItem(ref s) => &s.generics,
387+
ItemEnum::EnumItem(ref e) => &e.generics,
388+
ItemEnum::FunctionItem(ref f) => &f.generics,
389+
ItemEnum::TypedefItem(ref t, _) => &t.generics,
390+
ItemEnum::TraitItem(ref t) => &t.generics,
391+
ItemEnum::ImplItem(ref i) => &i.generics,
392+
ItemEnum::TyMethodItem(ref i) => &i.generics,
393+
ItemEnum::MethodItem(ref i) => &i.generics,
394+
ItemEnum::ForeignFunctionItem(ref f) => &f.generics,
395+
_ => return None,
396+
})
397+
}
398+
}
399+
383400
#[derive(Clone, RustcEncodable, RustcDecodable, Debug)]
384401
pub struct Module {
385402
pub items: Vec<Item>,

src/librustdoc/html/render.rs

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -997,17 +997,8 @@ impl DocFolder for Cache {
997997

998998
// Register any generics to their corresponding string. This is used
999999
// when pretty-printing types
1000-
match item.inner {
1001-
clean::StructItem(ref s) => self.generics(&s.generics),
1002-
clean::EnumItem(ref e) => self.generics(&e.generics),
1003-
clean::FunctionItem(ref f) => self.generics(&f.generics),
1004-
clean::TypedefItem(ref t, _) => self.generics(&t.generics),
1005-
clean::TraitItem(ref t) => self.generics(&t.generics),
1006-
clean::ImplItem(ref i) => self.generics(&i.generics),
1007-
clean::TyMethodItem(ref i) => self.generics(&i.generics),
1008-
clean::MethodItem(ref i) => self.generics(&i.generics),
1009-
clean::ForeignFunctionItem(ref f) => self.generics(&f.generics),
1010-
_ => {}
1000+
if let Some(generics) = item.inner.generics() {
1001+
self.generics(generics);
10111002
}
10121003

10131004
if !self.seen_mod {

0 commit comments

Comments
 (0)