@@ -84,7 +84,7 @@ struct MarkSymbolVisitor<'tcx> {
8484 // maps from ADTs to ignored derived traits (e.g. Debug and Clone)
8585 // and the span of their respective impl (i.e., part of the derive
8686 // macro)
87- ignored_derived_traits : LocalDefIdMap < FxIndexSet < ( DefId , DefId ) > > ,
87+ ignored_derived_traits : LocalDefIdMap < FxIndexSet < DefId > > ,
8888}
8989
9090impl < ' tcx > MarkSymbolVisitor < ' tcx > {
@@ -380,10 +380,7 @@ impl<'tcx> MarkSymbolVisitor<'tcx> {
380380 if let ty:: Adt ( adt_def, _) = trait_ref. self_ty ( ) . kind ( )
381381 && let Some ( adt_def_id) = adt_def. did ( ) . as_local ( )
382382 {
383- self . ignored_derived_traits
384- . entry ( adt_def_id)
385- . or_default ( )
386- . insert ( ( trait_of, impl_of) ) ;
383+ self . ignored_derived_traits . entry ( adt_def_id) . or_default ( ) . insert ( trait_of) ;
387384 }
388385 return true ;
389386 }
@@ -881,7 +878,7 @@ fn create_and_seed_worklist(
881878fn live_symbols_and_ignored_derived_traits (
882879 tcx : TyCtxt < ' _ > ,
883880 ( ) : ( ) ,
884- ) -> ( LocalDefIdSet , LocalDefIdMap < FxIndexSet < ( DefId , DefId ) > > ) {
881+ ) -> ( LocalDefIdSet , LocalDefIdMap < FxIndexSet < DefId > > ) {
885882 let ( worklist, struct_constructors, mut unsolved_items) = create_and_seed_worklist ( tcx) ;
886883 let mut symbol_visitor = MarkSymbolVisitor {
887884 worklist,
@@ -925,7 +922,7 @@ struct DeadItem {
925922struct DeadVisitor < ' tcx > {
926923 tcx : TyCtxt < ' tcx > ,
927924 live_symbols : & ' tcx LocalDefIdSet ,
928- ignored_derived_traits : & ' tcx LocalDefIdMap < FxIndexSet < ( DefId , DefId ) > > ,
925+ ignored_derived_traits : & ' tcx LocalDefIdMap < FxIndexSet < DefId > > ,
929926}
930927
931928enum ShouldWarnAboutField {
@@ -1047,20 +1044,18 @@ impl<'tcx> DeadVisitor<'tcx> {
10471044 let encl_def_id = get_parent_if_enum_variant ( tcx, encl_def_id) ;
10481045
10491046 let ignored_derived_impls =
1050- if let Some ( ign_traits ) = self . ignored_derived_traits . get ( & encl_def_id) {
1047+ self . ignored_derived_traits . get ( & encl_def_id) . map ( |ign_traits| {
10511048 let trait_list = ign_traits
10521049 . iter ( )
1053- . map ( |( trait_id, _ ) | self . tcx . item_name ( * trait_id) )
1050+ . map ( |trait_id| self . tcx . item_name ( * trait_id) )
10541051 . collect :: < Vec < _ > > ( ) ;
10551052 let trait_list_len = trait_list. len ( ) ;
1056- Some ( IgnoredDerivedImpls {
1053+ IgnoredDerivedImpls {
10571054 name : self . tcx . item_name ( encl_def_id. to_def_id ( ) ) ,
10581055 trait_list : trait_list. into ( ) ,
10591056 trait_list_len,
1060- } )
1061- } else {
1062- None
1063- } ;
1057+ }
1058+ } ) ;
10641059
10651060 let enum_variants_with_same_name = dead_codes
10661061 . iter ( )
0 commit comments