rustc: remove type information from TraitDef.
This commit is contained in:
parent
f50dbd580f
commit
3f338eed99
22 changed files with 123 additions and 160 deletions
|
|
@ -151,14 +151,13 @@ pub fn record_extern_fqn(cx: &DocContext, did: DefId, kind: clean::TypeKind) {
|
|||
}
|
||||
|
||||
pub fn build_external_trait(cx: &DocContext, did: DefId) -> clean::Trait {
|
||||
let def = cx.tcx.lookup_trait_def(did);
|
||||
let trait_items = cx.tcx.associated_items(did).map(|item| item.clean(cx)).collect();
|
||||
let predicates = cx.tcx.item_predicates(did);
|
||||
let generics = (def.generics, &predicates).clean(cx);
|
||||
let generics = (cx.tcx.item_generics(did), &predicates).clean(cx);
|
||||
let generics = filter_non_trait_generics(did, generics);
|
||||
let (generics, supertrait_bounds) = separate_supertrait_bounds(generics);
|
||||
clean::Trait {
|
||||
unsafety: def.unsafety,
|
||||
unsafety: cx.tcx.lookup_trait_def(did).unsafety,
|
||||
generics: generics,
|
||||
items: trait_items,
|
||||
bounds: supertrait_bounds,
|
||||
|
|
|
|||
|
|
@ -1407,9 +1407,8 @@ impl<'tcx> Clean<Item> for ty::AssociatedItem {
|
|||
// are actually located on the trait/impl itself, so we need to load
|
||||
// all of the generics from there and then look for bounds that are
|
||||
// applied to this associated type in question.
|
||||
let def = cx.tcx.lookup_trait_def(did);
|
||||
let predicates = cx.tcx.item_predicates(did);
|
||||
let generics = (def.generics, &predicates).clean(cx);
|
||||
let generics = (cx.tcx.item_generics(did), &predicates).clean(cx);
|
||||
generics.where_predicates.iter().filter_map(|pred| {
|
||||
let (name, self_type, trait_, bounds) = match *pred {
|
||||
WherePredicate::BoundPredicate {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue