@@ -20,8 +20,6 @@ crate fn collect_trait_impls(krate: Crate, cx: &mut DocContext<'_>) -> Crate {
2020 ( synth. fold_crate ( krate) , synth. impls )
2121 } ) ;
2222
23- let prims: FxHashSet < PrimitiveType > = krate. primitives . iter ( ) . map ( |p| p. 1 ) . collect ( ) ;
24-
2523 let crate_items = {
2624 let mut coll = ItemCollector :: new ( ) ;
2725 krate = cx. sess ( ) . time ( "collect_items_for_trait_impls" , || coll. fold_crate ( krate) ) ;
@@ -51,7 +49,7 @@ crate fn collect_trait_impls(krate: Crate, cx: &mut DocContext<'_>) -> Crate {
5149 }
5250 }
5351
54- let mut cleaner = BadImplStripper { prims , items : crate_items } ;
52+ let mut cleaner = BadImplStripper { items : crate_items } ;
5553 let mut type_did_to_deref_target: FxHashMap < DefId , & Type > = FxHashMap :: default ( ) ;
5654
5755 // Follow all `Deref` targets of included items and recursively add them as valid
@@ -62,9 +60,7 @@ crate fn collect_trait_impls(krate: Crate, cx: &mut DocContext<'_>) -> Crate {
6260 ) {
6361 if let Some ( target) = map. get ( & type_did) {
6462 debug ! ( "add_deref_target: type {:?}, target {:?}" , type_did, target) ;
65- if let Some ( target_prim) = target. primitive_type ( ) {
66- cleaner. prims . insert ( target_prim) ;
67- } else if let Some ( target_did) = target. def_id_no_primitives ( ) {
63+ if let Some ( target_did) = target. def_id_no_primitives ( ) {
6864 // `impl Deref<Target = S> for S`
6965 if target_did == type_did {
7066 // Avoid infinite cycles
@@ -90,9 +86,7 @@ crate fn collect_trait_impls(krate: Crate, cx: &mut DocContext<'_>) -> Crate {
9086 } )
9187 . expect ( "Deref impl without Target type" ) ;
9288
93- if let Some ( prim) = target. primitive_type ( ) {
94- cleaner. prims . insert ( prim) ;
95- } else if let Some ( did) = target. def_id ( & cx. cache ) {
89+ if let Some ( did) = target. def_id ( & cx. cache ) {
9690 cleaner. items . insert ( did. into ( ) ) ;
9791 }
9892 if let Some ( for_did) = for_. def_id_no_primitives ( ) {
@@ -208,7 +202,6 @@ impl DocFolder for ItemCollector {
208202}
209203
210204struct BadImplStripper {
211- prims : FxHashSet < PrimitiveType > ,
212205 items : FxHashSet < ItemId > ,
213206}
214207
@@ -217,8 +210,6 @@ impl BadImplStripper {
217210 if let Generic ( _) = ty {
218211 // keep impls made on generics
219212 true
220- } else if let Some ( prim) = ty. primitive_type ( ) {
221- self . prims . contains ( & prim)
222213 } else if let Some ( did) = ty. def_id_no_primitives ( ) {
223214 is_deref || self . keep_impl_with_def_id ( did. into ( ) )
224215 } else {
0 commit comments