@@ -147,8 +147,7 @@ impl<'a, 'tcx, T: Encodable<EncodeContext<'a, 'tcx>>> Encodable<EncodeContext<'a
147147 }
148148}
149149
150- impl < ' a , ' tcx , I : Idx , T : Encodable < EncodeContext < ' a , ' tcx > > > Encodable < EncodeContext < ' a , ' tcx > >
151- for Lazy < Table < I , T > >
150+ impl < ' a , ' tcx , I : Idx , T > Encodable < EncodeContext < ' a , ' tcx > > for Lazy < Table < I , T > >
152151where
153152 Option < T > : FixedSizeEncoding ,
154153{
@@ -461,16 +460,15 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
461460 . chain ( self . tcx . resolutions ( ( ) ) . proc_macros . iter ( ) . map ( |p| p. local_def_index ) )
462461 {
463462 let def_key = self . lazy ( table. def_key ( def_index) ) ;
464- let def_path_hash = self . lazy ( table. def_path_hash ( def_index) ) ;
463+ let def_path_hash = table. def_path_hash ( def_index) ;
465464 self . tables . def_keys . set ( def_index, def_key) ;
466465 self . tables . def_path_hashes . set ( def_index, def_path_hash) ;
467466 }
468467 } else {
469468 for ( def_index, def_key, def_path_hash) in table. enumerated_keys_and_path_hashes ( ) {
470469 let def_key = self . lazy ( def_key) ;
471- let def_path_hash = self . lazy ( def_path_hash) ;
472470 self . tables . def_keys . set ( def_index, def_key) ;
473- self . tables . def_path_hashes . set ( def_index, def_path_hash) ;
471+ self . tables . def_path_hashes . set ( def_index, * def_path_hash) ;
474472 }
475473 }
476474 }
@@ -988,7 +986,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
988986 let def_id = local_id. to_def_id ( ) ;
989987 let def_kind = tcx. opt_def_kind ( local_id) ;
990988 let Some ( def_kind) = def_kind else { continue } ;
991- record ! ( self . tables. opt_def_kind[ def_id] <- def_kind) ;
989+ self . tables . opt_def_kind . set ( def_id. index , def_kind) ;
992990 record ! ( self . tables. def_span[ def_id] <- tcx. def_span( def_id) ) ;
993991 record ! ( self . tables. attributes[ def_id] <- tcx. get_attrs( def_id) ) ;
994992 record ! ( self . tables. expn_that_defined[ def_id] <- self . tcx. expn_that_defined( def_id) ) ;
@@ -1048,7 +1046,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
10481046 } ;
10491047
10501048 record ! ( self . tables. kind[ def_id] <- EntryKind :: Variant ( self . lazy( data) ) ) ;
1051- record ! ( self . tables. impl_constness[ def_id] <- hir:: Constness :: Const ) ;
1049+ self . tables . impl_constness . set ( def_id. index , hir:: Constness :: Const ) ;
10521050 record ! ( self . tables. children[ def_id] <- variant. fields. iter( ) . map( |f| {
10531051 assert!( f. did. is_local( ) ) ;
10541052 f. did. index
@@ -1078,7 +1076,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
10781076 } ;
10791077
10801078 record ! ( self . tables. kind[ def_id] <- EntryKind :: Variant ( self . lazy( data) ) ) ;
1081- record ! ( self . tables. impl_constness[ def_id] <- hir:: Constness :: Const ) ;
1079+ self . tables . impl_constness . set ( def_id. index , hir:: Constness :: Const ) ;
10821080 self . encode_item_type ( def_id) ;
10831081 if variant. ctor_kind == CtorKind :: Fn {
10841082 record ! ( self . tables. fn_sig[ def_id] <- tcx. fn_sig( def_id) ) ;
@@ -1157,7 +1155,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
11571155 } ;
11581156
11591157 record ! ( self . tables. repr_options[ def_id] <- adt_def. repr( ) ) ;
1160- record ! ( self . tables. impl_constness[ def_id] <- hir:: Constness :: Const ) ;
1158+ self . tables . impl_constness . set ( def_id. index , hir:: Constness :: Const ) ;
11611159 record ! ( self . tables. kind[ def_id] <- EntryKind :: Struct ( self . lazy( data) ) ) ;
11621160 self . encode_item_type ( def_id) ;
11631161 if variant. ctor_kind == CtorKind :: Fn {
@@ -1207,8 +1205,8 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
12071205 record ! ( self . tables. fn_arg_names[ def_id] <- self . tcx. hir( ) . body_param_names( body) )
12081206 }
12091207 } ;
1210- record ! ( self . tables. asyncness[ def_id] <- m_sig. header. asyncness) ;
1211- record ! ( self . tables. impl_constness[ def_id] <- hir:: Constness :: NotConst ) ;
1208+ self . tables . asyncness . set ( def_id. index , m_sig. header . asyncness ) ;
1209+ self . tables . impl_constness . set ( def_id. index , hir:: Constness :: NotConst ) ;
12121210 record ! ( self . tables. kind[ def_id] <- EntryKind :: AssocFn ( self . lazy( AssocFnData {
12131211 container,
12141212 has_self: trait_item. fn_has_self_parameter,
@@ -1265,15 +1263,15 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
12651263 }
12661264 ty:: AssocKind :: Fn => {
12671265 let hir:: ImplItemKind :: Fn ( ref sig, body) = ast_item. kind else { bug ! ( ) } ;
1268- record ! ( self . tables. asyncness[ def_id] <- sig. header. asyncness) ;
1266+ self . tables . asyncness . set ( def_id. index , sig. header . asyncness ) ;
12691267 record ! ( self . tables. fn_arg_names[ def_id] <- self . tcx. hir( ) . body_param_names( body) ) ;
12701268 // Can be inside `impl const Trait`, so using sig.header.constness is not reliable
12711269 let constness = if self . tcx . is_const_fn_raw ( def_id) {
12721270 hir:: Constness :: Const
12731271 } else {
12741272 hir:: Constness :: NotConst
12751273 } ;
1276- record ! ( self . tables. impl_constness[ def_id] <- constness) ;
1274+ self . tables . impl_constness . set ( def_id. index , constness) ;
12771275 record ! ( self . tables. kind[ def_id] <- EntryKind :: AssocFn ( self . lazy( AssocFnData {
12781276 container,
12791277 has_self: impl_item. fn_has_self_parameter,
@@ -1286,7 +1284,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
12861284 self . encode_ident_span ( def_id, impl_item. ident ( self . tcx ) ) ;
12871285 self . encode_item_type ( def_id) ;
12881286 if let Some ( trait_item_def_id) = impl_item. trait_item_def_id {
1289- record ! ( self . tables. trait_item_def_id[ def_id] <- trait_item_def_id) ;
1287+ self . tables . trait_item_def_id . set ( def_id. index , trait_item_def_id. into ( ) ) ;
12901288 }
12911289 if impl_item. kind == ty:: AssocKind :: Fn {
12921290 record ! ( self . tables. fn_sig[ def_id] <- tcx. fn_sig( def_id) ) ;
@@ -1394,9 +1392,9 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
13941392 EntryKind :: Const
13951393 }
13961394 hir:: ItemKind :: Fn ( ref sig, .., body) => {
1397- record ! ( self . tables. asyncness[ def_id] <- sig. header. asyncness) ;
1395+ self . tables . asyncness . set ( def_id. index , sig. header . asyncness ) ;
13981396 record ! ( self . tables. fn_arg_names[ def_id] <- self . tcx. hir( ) . body_param_names( body) ) ;
1399- record ! ( self . tables. impl_constness[ def_id] <- sig. header. constness) ;
1397+ self . tables . impl_constness . set ( def_id. index , sig. header . constness ) ;
14001398 EntryKind :: Fn
14011399 }
14021400 hir:: ItemKind :: Macro ( ref macro_def, _) => {
@@ -1420,7 +1418,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
14201418 hir:: ItemKind :: Struct ( ref struct_def, _) => {
14211419 let adt_def = self . tcx . adt_def ( def_id) ;
14221420 record ! ( self . tables. repr_options[ def_id] <- adt_def. repr( ) ) ;
1423- record ! ( self . tables. impl_constness[ def_id] <- hir:: Constness :: Const ) ;
1421+ self . tables . impl_constness . set ( def_id. index , hir:: Constness :: Const ) ;
14241422
14251423 // Encode def_ids for each field and method
14261424 // for methods, write all the stuff get_trait_method
@@ -1450,15 +1448,15 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
14501448 } ) )
14511449 }
14521450 hir:: ItemKind :: Impl ( hir:: Impl { defaultness, constness, .. } ) => {
1453- record ! ( self . tables. impl_defaultness[ def_id] <- defaultness) ;
1454- record ! ( self . tables. impl_constness[ def_id] <- constness) ;
1451+ self . tables . impl_defaultness . set ( def_id. index , defaultness) ;
1452+ self . tables . impl_constness . set ( def_id. index , constness) ;
14551453
14561454 let trait_ref = self . tcx . impl_trait_ref ( def_id) ;
14571455 if let Some ( trait_ref) = trait_ref {
14581456 let trait_def = self . tcx . trait_def ( trait_ref. def_id ) ;
14591457 if let Some ( mut an) = trait_def. ancestors ( self . tcx , def_id) . ok ( ) {
14601458 if let Some ( specialization_graph:: Node :: Impl ( parent) ) = an. nth ( 1 ) {
1461- record ! ( self . tables. impl_parent[ def_id] <- parent) ;
1459+ self . tables . impl_parent . set ( def_id. index , parent. into ( ) ) ;
14621460 }
14631461 }
14641462
@@ -1472,7 +1470,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
14721470 }
14731471
14741472 let polarity = self . tcx . impl_polarity ( def_id) ;
1475- record ! ( self . tables. impl_polarity[ def_id] <- polarity) ;
1473+ self . tables . impl_polarity . set ( def_id. index , polarity) ;
14761474
14771475 EntryKind :: Impl
14781476 }
@@ -1644,7 +1642,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
16441642 self . tables . proc_macro_quoted_spans . set ( i, span) ;
16451643 }
16461644
1647- record ! ( self . tables. opt_def_kind[ LOCAL_CRATE . as_def_id( ) ] <- DefKind :: Mod ) ;
1645+ self . tables . opt_def_kind . set ( LOCAL_CRATE . as_def_id ( ) . index , DefKind :: Mod ) ;
16481646 record ! ( self . tables. def_span[ LOCAL_CRATE . as_def_id( ) ] <- tcx. def_span( LOCAL_CRATE . as_def_id( ) ) ) ;
16491647 record ! ( self . tables. attributes[ LOCAL_CRATE . as_def_id( ) ] <- tcx. get_attrs( LOCAL_CRATE . as_def_id( ) ) ) ;
16501648 record ! ( self . tables. visibility[ LOCAL_CRATE . as_def_id( ) ] <- tcx. visibility( LOCAL_CRATE . as_def_id( ) ) ) ;
@@ -1685,7 +1683,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
16851683 def_key. disambiguated_data . data = DefPathData :: MacroNs ( name) ;
16861684
16871685 let def_id = id. to_def_id ( ) ;
1688- record ! ( self . tables. opt_def_kind[ def_id] <- DefKind :: Macro ( macro_kind) ) ;
1686+ self . tables . opt_def_kind . set ( def_id. index , DefKind :: Macro ( macro_kind) ) ;
16891687 record ! ( self . tables. kind[ def_id] <- EntryKind :: ProcMacro ( macro_kind) ) ;
16901688 record ! ( self . tables. attributes[ def_id] <- attrs) ;
16911689 record ! ( self . tables. def_keys[ def_id] <- def_key) ;
@@ -1886,14 +1884,14 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
18861884
18871885 match nitem. kind {
18881886 hir:: ForeignItemKind :: Fn ( _, ref names, _) => {
1889- record ! ( self . tables. asyncness[ def_id] <- hir:: IsAsync :: NotAsync ) ;
1887+ self . tables . asyncness . set ( def_id. index , hir:: IsAsync :: NotAsync ) ;
18901888 record ! ( self . tables. fn_arg_names[ def_id] <- * names) ;
18911889 let constness = if self . tcx . is_const_fn_raw ( def_id) {
18921890 hir:: Constness :: Const
18931891 } else {
18941892 hir:: Constness :: NotConst
18951893 } ;
1896- record ! ( self . tables. impl_constness[ def_id] <- constness) ;
1894+ self . tables . impl_constness . set ( def_id. index , constness) ;
18971895 record ! ( self . tables. kind[ def_id] <- EntryKind :: ForeignFn ) ;
18981896 }
18991897 hir:: ForeignItemKind :: Static ( ..) => {
0 commit comments