@@ -683,34 +683,33 @@ impl<'tcx> DeadVisitor<'tcx> {
683
683
let descr = self . tcx . def_kind ( def_id) . descr ( def_id. to_def_id ( ) ) ;
684
684
let mut err = lint. build ( & format ! ( "{} is never {}: `{}`" , descr, participle, name) ) ;
685
685
let hir = self . tcx . hir ( ) ;
686
- if let Some ( encl_scope) = hir. get_enclosing_scope ( id) {
687
- if let Some ( encl_def_id) = hir. opt_local_def_id ( encl_scope) {
688
- if let Some ( ign_traits) = self . ignored_derived_traits . get ( & encl_def_id) {
689
- let traits_str = ign_traits
690
- . iter ( )
691
- . map ( |( trait_id, _) | format ! ( "`{}`" , self . tcx. item_name( * trait_id) ) )
692
- . collect :: < Vec < _ > > ( )
693
- . join ( " and " ) ;
694
- let plural_s = pluralize ! ( ign_traits. len( ) ) ;
695
- let article = if ign_traits. len ( ) > 1 { "" } else { "a " } ;
696
- let is_are = if ign_traits. len ( ) > 1 { "these are" } else { "this is" } ;
697
- let msg = format ! (
698
- "`{}` has {}derived impl{} for the trait{} {}, but {} \
699
- intentionally ignored during dead code analysis",
700
- self . tcx. item_name( encl_def_id. to_def_id( ) ) ,
701
- article,
702
- plural_s,
703
- plural_s,
704
- traits_str,
705
- is_are
706
- ) ;
707
- let multispan = ign_traits
708
- . iter ( )
709
- . map ( |( _, impl_id) | self . tcx . def_span ( * impl_id) )
710
- . collect :: < Vec < _ > > ( ) ;
711
- err. span_note ( multispan, & msg) ;
712
- }
713
- }
686
+ if let Some ( encl_scope) = hir. get_enclosing_scope ( id)
687
+ && let Some ( encl_def_id) = hir. opt_local_def_id ( encl_scope)
688
+ && let Some ( ign_traits) = self . ignored_derived_traits . get ( & encl_def_id)
689
+ {
690
+ let traits_str = ign_traits
691
+ . iter ( )
692
+ . map ( |( trait_id, _) | format ! ( "`{}`" , self . tcx. item_name( * trait_id) ) )
693
+ . collect :: < Vec < _ > > ( )
694
+ . join ( " and " ) ;
695
+ let plural_s = pluralize ! ( ign_traits. len( ) ) ;
696
+ let article = if ign_traits. len ( ) > 1 { "" } else { "a " } ;
697
+ let is_are = if ign_traits. len ( ) > 1 { "these are" } else { "this is" } ;
698
+ let msg = format ! (
699
+ "`{}` has {}derived impl{} for the trait{} {}, but {} \
700
+ intentionally ignored during dead code analysis",
701
+ self . tcx. item_name( encl_def_id. to_def_id( ) ) ,
702
+ article,
703
+ plural_s,
704
+ plural_s,
705
+ traits_str,
706
+ is_are
707
+ ) ;
708
+ let multispan = ign_traits
709
+ . iter ( )
710
+ . map ( |( _, impl_id) | self . tcx . def_span ( * impl_id) )
711
+ . collect :: < Vec < _ > > ( ) ;
712
+ err. span_note ( multispan, & msg) ;
714
713
}
715
714
err. emit ( ) ;
716
715
} ) ;
0 commit comments