@@ -27,19 +27,19 @@ struct DiagnosticItemCollector<'tcx> {
2727
2828impl < ' v , ' tcx > ItemLikeVisitor < ' v > for DiagnosticItemCollector < ' tcx > {
2929 fn visit_item ( & mut self , item : & hir:: Item < ' _ > ) {
30- self . observe_item ( & item . attrs , item. def_id ) ;
30+ self . observe_item ( item. def_id ) ;
3131 }
3232
3333 fn visit_trait_item ( & mut self , trait_item : & hir:: TraitItem < ' _ > ) {
34- self . observe_item ( & trait_item . attrs , trait_item. def_id ) ;
34+ self . observe_item ( trait_item. def_id ) ;
3535 }
3636
3737 fn visit_impl_item ( & mut self , impl_item : & hir:: ImplItem < ' _ > ) {
38- self . observe_item ( & impl_item . attrs , impl_item. def_id ) ;
38+ self . observe_item ( impl_item. def_id ) ;
3939 }
4040
4141 fn visit_foreign_item ( & mut self , foreign_item : & hir:: ForeignItem < ' _ > ) {
42- self . observe_item ( foreign_item. attrs , foreign_item . def_id ) ;
42+ self . observe_item ( foreign_item. def_id ) ;
4343 }
4444}
4545
@@ -48,7 +48,9 @@ impl<'tcx> DiagnosticItemCollector<'tcx> {
4848 DiagnosticItemCollector { tcx, items : Default :: default ( ) }
4949 }
5050
51- fn observe_item ( & mut self , attrs : & [ ast:: Attribute ] , def_id : LocalDefId ) {
51+ fn observe_item ( & mut self , def_id : LocalDefId ) {
52+ let hir_id = self . tcx . hir ( ) . local_def_id_to_hir_id ( def_id) ;
53+ let attrs = self . tcx . hir ( ) . attrs ( hir_id) ;
5254 if let Some ( name) = extract ( & self . tcx . sess , attrs) {
5355 // insert into our table
5456 collect_item ( self . tcx , & mut self . items , name, def_id. to_def_id ( ) ) ;
@@ -105,7 +107,7 @@ fn collect<'tcx>(tcx: TyCtxt<'tcx>) -> FxHashMap<Symbol, DefId> {
105107 tcx. hir ( ) . krate ( ) . visit_all_item_likes ( & mut collector) ;
106108
107109 for m in tcx. hir ( ) . krate ( ) . exported_macros {
108- collector. observe_item ( m. attrs , m . def_id ) ;
110+ collector. observe_item ( m. def_id ) ;
109111 }
110112
111113 collector. items
0 commit comments