diff options
Diffstat (limited to 'src/librustdoc/clean/mod.rs')
| -rw-r--r-- | src/librustdoc/clean/mod.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index e91e95961c5..421549f8b7e 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -337,6 +337,7 @@ pub enum ItemEnum { MacroItem(Macro), PrimitiveItem(PrimitiveType), AssociatedTypeItem(Vec<TyParamBound>, Option<Type>), + DefaultImplItem(DefaultImpl), } #[derive(Clone, RustcEncodable, RustcDecodable, Debug)] @@ -367,6 +368,7 @@ impl Clean<Item> for doctree::Module { items.extend(self.traits.iter().map(|x| x.clean(cx))); items.extend(self.impls.iter().map(|x| x.clean(cx))); items.extend(self.macros.iter().map(|x| x.clean(cx))); + items.extend(self.def_traits.iter().map(|x| x.clean(cx))); // determine if we should display the inner contents or // the outer `mod` item for the source code. @@ -2079,6 +2081,7 @@ impl Clean<ImplPolarity> for ast::ImplPolarity { #[derive(Clone, RustcEncodable, RustcDecodable, Debug)] pub struct Impl { + pub unsafety: ast::Unsafety, pub generics: Generics, pub trait_: Option<Type>, pub for_: Type, @@ -2101,6 +2104,7 @@ impl Clean<Item> for doctree::Impl { visibility: self.vis.clean(cx), stability: self.stab.clean(cx), inner: ImplItem(Impl { + unsafety: self.unsafety, generics: self.generics.clean(cx), trait_: self.trait_.clean(cx), for_: self.for_.clean(cx), @@ -2112,6 +2116,29 @@ impl Clean<Item> for doctree::Impl { } } +#[derive(Clone, RustcEncodable, RustcDecodable, Debug)] +pub struct DefaultImpl { + pub unsafety: ast::Unsafety, + pub trait_: Type, +} + +impl Clean<Item> for doctree::DefaultImpl { + fn clean(&self, cx: &DocContext) -> Item { + Item { + name: None, + attrs: self.attrs.clean(cx), + source: self.whence.clean(cx), + def_id: ast_util::local_def(self.id), + visibility: Some(ast::Public), + stability: None, + inner: DefaultImplItem(DefaultImpl { + unsafety: self.unsafety, + trait_: self.trait_.clean(cx), + }), + } + } +} + impl Clean<Item> for doctree::ExternCrate { fn clean(&self, cx: &DocContext) -> Item { Item { |
