From 2382bf42df52d35cce39507048670c76edd5a7b5 Mon Sep 17 00:00:00 2001 From: Tom Jakubowski Date: Wed, 4 Jun 2014 03:51:41 -0700 Subject: [PATCH] rustdoc: Include supertraits on inlined traits Previously, documentation for an inlined trait (i.e. a trait imported and reexported from another crate) didn't display the trait's supertraits. Closes #14636 --- src/librustdoc/clean/inline.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/librustdoc/clean/inline.rs b/src/librustdoc/clean/inline.rs index 575dd057867..1bc6cfdabd3 100644 --- a/src/librustdoc/clean/inline.rs +++ b/src/librustdoc/clean/inline.rs @@ -147,10 +147,18 @@ pub fn build_external_trait(tcx: &ty::ctxt, did: ast::DefId) -> clean::Trait { clean::Required(meth) } }); + let supertraits = ty::trait_supertraits(tcx, did); + let mut parents = supertraits.iter().map(|i| { + match i.clean() { + clean::TraitBound(ty) => ty, + clean::RegionBound => unreachable!() + } + }); + clean::Trait { generics: def.generics.clean(), methods: methods.collect(), - parents: Vec::new(), // FIXME: this is likely wrong + parents: parents.collect() } }