@@ -147,8 +147,7 @@ impl<'a, 'tcx, T: Encodable<EncodeContext<'a, 'tcx>>> Encodable<EncodeContext<'a
147
147
}
148
148
}
149
149
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 > >
152
151
where
153
152
Option < T > : FixedSizeEncoding ,
154
153
{
@@ -461,16 +460,15 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
461
460
. chain ( self . tcx . resolutions ( ( ) ) . proc_macros . iter ( ) . map ( |p| p. local_def_index ) )
462
461
{
463
462
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) ;
465
464
self . tables . def_keys . set ( def_index, def_key) ;
466
465
self . tables . def_path_hashes . set ( def_index, def_path_hash) ;
467
466
}
468
467
} else {
469
468
for ( def_index, def_key, def_path_hash) in table. enumerated_keys_and_path_hashes ( ) {
470
469
let def_key = self . lazy ( def_key) ;
471
- let def_path_hash = self . lazy ( def_path_hash) ;
472
470
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) ;
474
472
}
475
473
}
476
474
}
@@ -988,7 +986,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
988
986
let def_id = local_id. to_def_id ( ) ;
989
987
let def_kind = tcx. opt_def_kind ( local_id) ;
990
988
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) ;
992
990
record ! ( self . tables. def_span[ def_id] <- tcx. def_span( def_id) ) ;
993
991
record ! ( self . tables. attributes[ def_id] <- tcx. get_attrs( def_id) ) ;
994
992
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> {
1048
1046
} ;
1049
1047
1050
1048
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 ) ;
1052
1050
record ! ( self . tables. children[ def_id] <- variant. fields. iter( ) . map( |f| {
1053
1051
assert!( f. did. is_local( ) ) ;
1054
1052
f. did. index
@@ -1078,7 +1076,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
1078
1076
} ;
1079
1077
1080
1078
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 ) ;
1082
1080
self . encode_item_type ( def_id) ;
1083
1081
if variant. ctor_kind == CtorKind :: Fn {
1084
1082
record ! ( self . tables. fn_sig[ def_id] <- tcx. fn_sig( def_id) ) ;
@@ -1157,7 +1155,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
1157
1155
} ;
1158
1156
1159
1157
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 ) ;
1161
1159
record ! ( self . tables. kind[ def_id] <- EntryKind :: Struct ( self . lazy( data) ) ) ;
1162
1160
self . encode_item_type ( def_id) ;
1163
1161
if variant. ctor_kind == CtorKind :: Fn {
@@ -1207,8 +1205,8 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
1207
1205
record ! ( self . tables. fn_arg_names[ def_id] <- self . tcx. hir( ) . body_param_names( body) )
1208
1206
}
1209
1207
} ;
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 ) ;
1212
1210
record ! ( self . tables. kind[ def_id] <- EntryKind :: AssocFn ( self . lazy( AssocFnData {
1213
1211
container,
1214
1212
has_self: trait_item. fn_has_self_parameter,
@@ -1265,15 +1263,15 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
1265
1263
}
1266
1264
ty:: AssocKind :: Fn => {
1267
1265
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 ) ;
1269
1267
record ! ( self . tables. fn_arg_names[ def_id] <- self . tcx. hir( ) . body_param_names( body) ) ;
1270
1268
// Can be inside `impl const Trait`, so using sig.header.constness is not reliable
1271
1269
let constness = if self . tcx . is_const_fn_raw ( def_id) {
1272
1270
hir:: Constness :: Const
1273
1271
} else {
1274
1272
hir:: Constness :: NotConst
1275
1273
} ;
1276
- record ! ( self . tables. impl_constness[ def_id] <- constness) ;
1274
+ self . tables . impl_constness . set ( def_id. index , constness) ;
1277
1275
record ! ( self . tables. kind[ def_id] <- EntryKind :: AssocFn ( self . lazy( AssocFnData {
1278
1276
container,
1279
1277
has_self: impl_item. fn_has_self_parameter,
@@ -1286,7 +1284,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
1286
1284
self . encode_ident_span ( def_id, impl_item. ident ( self . tcx ) ) ;
1287
1285
self . encode_item_type ( def_id) ;
1288
1286
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 ( ) ) ;
1290
1288
}
1291
1289
if impl_item. kind == ty:: AssocKind :: Fn {
1292
1290
record ! ( self . tables. fn_sig[ def_id] <- tcx. fn_sig( def_id) ) ;
@@ -1394,9 +1392,9 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
1394
1392
EntryKind :: Const
1395
1393
}
1396
1394
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 ) ;
1398
1396
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 ) ;
1400
1398
EntryKind :: Fn
1401
1399
}
1402
1400
hir:: ItemKind :: Macro ( ref macro_def, _) => {
@@ -1420,7 +1418,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
1420
1418
hir:: ItemKind :: Struct ( ref struct_def, _) => {
1421
1419
let adt_def = self . tcx . adt_def ( def_id) ;
1422
1420
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 ) ;
1424
1422
1425
1423
// Encode def_ids for each field and method
1426
1424
// for methods, write all the stuff get_trait_method
@@ -1450,15 +1448,15 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
1450
1448
} ) )
1451
1449
}
1452
1450
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) ;
1455
1453
1456
1454
let trait_ref = self . tcx . impl_trait_ref ( def_id) ;
1457
1455
if let Some ( trait_ref) = trait_ref {
1458
1456
let trait_def = self . tcx . trait_def ( trait_ref. def_id ) ;
1459
1457
if let Some ( mut an) = trait_def. ancestors ( self . tcx , def_id) . ok ( ) {
1460
1458
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 ( ) ) ;
1462
1460
}
1463
1461
}
1464
1462
@@ -1472,7 +1470,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
1472
1470
}
1473
1471
1474
1472
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) ;
1476
1474
1477
1475
EntryKind :: Impl
1478
1476
}
@@ -1644,7 +1642,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
1644
1642
self . tables . proc_macro_quoted_spans . set ( i, span) ;
1645
1643
}
1646
1644
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 ) ;
1648
1646
record ! ( self . tables. def_span[ LOCAL_CRATE . as_def_id( ) ] <- tcx. def_span( LOCAL_CRATE . as_def_id( ) ) ) ;
1649
1647
record ! ( self . tables. attributes[ LOCAL_CRATE . as_def_id( ) ] <- tcx. get_attrs( LOCAL_CRATE . as_def_id( ) ) ) ;
1650
1648
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> {
1685
1683
def_key. disambiguated_data . data = DefPathData :: MacroNs ( name) ;
1686
1684
1687
1685
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) ) ;
1689
1687
record ! ( self . tables. kind[ def_id] <- EntryKind :: ProcMacro ( macro_kind) ) ;
1690
1688
record ! ( self . tables. attributes[ def_id] <- attrs) ;
1691
1689
record ! ( self . tables. def_keys[ def_id] <- def_key) ;
@@ -1886,14 +1884,14 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
1886
1884
1887
1885
match nitem. kind {
1888
1886
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 ) ;
1890
1888
record ! ( self . tables. fn_arg_names[ def_id] <- * names) ;
1891
1889
let constness = if self . tcx . is_const_fn_raw ( def_id) {
1892
1890
hir:: Constness :: Const
1893
1891
} else {
1894
1892
hir:: Constness :: NotConst
1895
1893
} ;
1896
- record ! ( self . tables. impl_constness[ def_id] <- constness) ;
1894
+ self . tables . impl_constness . set ( def_id. index , constness) ;
1897
1895
record ! ( self . tables. kind[ def_id] <- EntryKind :: ForeignFn ) ;
1898
1896
}
1899
1897
hir:: ForeignItemKind :: Static ( ..) => {
0 commit comments