@@ -985,15 +985,17 @@ fn should_encode_generics(def_kind: DefKind) -> bool {
985
985
}
986
986
987
987
impl < ' a , ' tcx > EncodeContext < ' a , ' tcx > {
988
- fn encode_attrs ( & mut self , def_id : DefId ) {
988
+ fn encode_attrs ( & mut self , def_id : LocalDefId ) {
989
989
let mut attrs = self
990
990
. tcx
991
- . get_attrs ( def_id)
991
+ . hir ( )
992
+ . attrs ( self . tcx . hir ( ) . local_def_id_to_hir_id ( def_id) )
992
993
. iter ( )
993
994
. filter ( |attr| !rustc_feature:: is_builtin_only_local ( attr. name_or_empty ( ) ) ) ;
994
- record ! ( self . tables. attributes[ def_id] <- attrs. clone( ) ) ;
995
+
996
+ record ! ( self . tables. attributes[ def_id. to_def_id( ) ] <- attrs. clone( ) ) ;
995
997
if attrs. any ( |attr| attr. may_have_doc_links ( ) ) {
996
- self . tables . may_have_doc_links . set ( def_id. index , ( ) ) ;
998
+ self . tables . may_have_doc_links . set ( def_id. local_def_index , ( ) ) ;
997
999
}
998
1000
}
999
1001
@@ -1009,7 +1011,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
1009
1011
let Some ( def_kind) = def_kind else { continue } ;
1010
1012
self . tables . opt_def_kind . set ( def_id. index , def_kind) ;
1011
1013
record ! ( self . tables. def_span[ def_id] <- tcx. def_span( def_id) ) ;
1012
- self . encode_attrs ( def_id ) ;
1014
+ self . encode_attrs ( local_id ) ;
1013
1015
record ! ( self . tables. expn_that_defined[ def_id] <- self . tcx. expn_that_defined( def_id) ) ;
1014
1016
if def_kind. has_codegen_attrs ( ) {
1015
1017
record ! ( self . tables. codegen_fn_attrs[ def_id] <- self . tcx. codegen_fn_attrs( def_id) ) ;
@@ -1674,7 +1676,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
1674
1676
1675
1677
self . tables . opt_def_kind . set ( LOCAL_CRATE . as_def_id ( ) . index , DefKind :: Mod ) ;
1676
1678
record ! ( self . tables. def_span[ LOCAL_CRATE . as_def_id( ) ] <- tcx. def_span( LOCAL_CRATE . as_def_id( ) ) ) ;
1677
- self . encode_attrs ( LOCAL_CRATE . as_def_id ( ) ) ;
1679
+ self . encode_attrs ( LOCAL_CRATE . as_def_id ( ) . expect_local ( ) ) ;
1678
1680
record ! ( self . tables. visibility[ LOCAL_CRATE . as_def_id( ) ] <- tcx. visibility( LOCAL_CRATE . as_def_id( ) ) ) ;
1679
1681
if let Some ( stability) = stability {
1680
1682
record ! ( self . tables. lookup_stability[ LOCAL_CRATE . as_def_id( ) ] <- stability) ;
@@ -1715,7 +1717,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
1715
1717
let def_id = id. to_def_id ( ) ;
1716
1718
self . tables . opt_def_kind . set ( def_id. index , DefKind :: Macro ( macro_kind) ) ;
1717
1719
record ! ( self . tables. kind[ def_id] <- EntryKind :: ProcMacro ( macro_kind) ) ;
1718
- self . encode_attrs ( def_id ) ;
1720
+ self . encode_attrs ( id ) ;
1719
1721
record ! ( self . tables. def_keys[ def_id] <- def_key) ;
1720
1722
record ! ( self . tables. def_ident_span[ def_id] <- span) ;
1721
1723
record ! ( self . tables. def_span[ def_id] <- span) ;
0 commit comments