@@ -23,6 +23,7 @@ rustc_queries! {
23
23
query hir_crate( key: ( ) ) -> & ' tcx Crate <' tcx> {
24
24
eval_always
25
25
no_hash
26
+ storage( CellCacheSelector <' tcx>)
26
27
desc { "get the crate HIR" }
27
28
}
28
29
@@ -31,6 +32,7 @@ rustc_queries! {
31
32
query index_hir( _: ( ) ) -> & ' tcx crate :: hir:: IndexedHir <' tcx> {
32
33
eval_always
33
34
no_hash
35
+ storage( CellCacheSelector <' tcx>)
34
36
desc { "index HIR" }
35
37
}
36
38
@@ -116,6 +118,7 @@ rustc_queries! {
116
118
117
119
query analysis( key: ( ) ) -> Result <( ) , ErrorReported > {
118
120
eval_always
121
+ storage( CellCacheSelector <' tcx>)
119
122
desc { "running analysis passes on this crate" }
120
123
}
121
124
@@ -701,6 +704,7 @@ rustc_queries! {
701
704
}
702
705
703
706
query typeck_item_bodies( _: ( ) ) -> ( ) {
707
+ storage( CellCacheSelector <' tcx>)
704
708
desc { "type-checking all item bodies" }
705
709
}
706
710
@@ -770,6 +774,7 @@ rustc_queries! {
770
774
query crate_inherent_impls_overlap_check( _: ( ) )
771
775
-> ( ) {
772
776
eval_always
777
+ storage( CellCacheSelector <' tcx>)
773
778
desc { "check for overlap between inherent impls defined in this crate" }
774
779
}
775
780
@@ -863,10 +868,12 @@ rustc_queries! {
863
868
/// Performs part of the privacy check and computes "access levels".
864
869
query privacy_access_levels( _: ( ) ) -> & ' tcx AccessLevels {
865
870
eval_always
871
+ storage( CellCacheSelector <' tcx>)
866
872
desc { "privacy access levels" }
867
873
}
868
874
query check_private_in_public( _: ( ) ) -> ( ) {
869
875
eval_always
876
+ storage( CellCacheSelector <' tcx>)
870
877
desc { "checking for private elements in public interfaces" }
871
878
}
872
879
@@ -981,6 +988,7 @@ rustc_queries! {
981
988
///
982
989
/// [`LOCAL_CRATE`]: rustc_hir::def_id::LOCAL_CRATE
983
990
query all_local_trait_impls( _: ( ) ) -> & ' tcx BTreeMap <DefId , Vec <LocalDefId >> {
991
+ storage( CellCacheSelector <' tcx>)
984
992
desc { "local trait impls" }
985
993
}
986
994
@@ -1229,12 +1237,15 @@ rustc_queries! {
1229
1237
/// Identifies the entry-point (e.g., the `main` function) for a given
1230
1238
/// crate, returning `None` if there is no entry point (such as for library crates).
1231
1239
query entry_fn( _: ( ) ) -> Option <( DefId , EntryFnType ) > {
1240
+ storage( CellCacheSelector <' tcx>)
1232
1241
desc { "looking up the entry function of a crate" }
1233
1242
}
1234
1243
query plugin_registrar_fn( _: ( ) ) -> Option <LocalDefId > {
1244
+ storage( CellCacheSelector <' tcx>)
1235
1245
desc { "looking up the plugin registrar for a crate" }
1236
1246
}
1237
1247
query proc_macro_decls_static( _: ( ) ) -> Option <LocalDefId > {
1248
+ storage( CellCacheSelector <' tcx>)
1238
1249
desc { "looking up the derive registrar for a crate" }
1239
1250
}
1240
1251
query crate_disambiguator( _: CrateNum ) -> CrateDisambiguator {
@@ -1412,6 +1423,7 @@ rustc_queries! {
1412
1423
}
1413
1424
query postorder_cnums( _: ( ) ) -> & ' tcx [ CrateNum ] {
1414
1425
eval_always
1426
+ storage( CellCacheSelector <' tcx>)
1415
1427
desc { "generating a postorder list of CrateNums" }
1416
1428
}
1417
1429
/// Returns whether or not the crate with CrateNum 'cnum'
@@ -1431,6 +1443,7 @@ rustc_queries! {
1431
1443
}
1432
1444
query maybe_unused_extern_crates( _: ( ) ) -> & ' tcx [ ( LocalDefId , Span ) ] {
1433
1445
eval_always
1446
+ storage( CellCacheSelector <' tcx>)
1434
1447
desc { "looking up all possibly unused extern crates" }
1435
1448
}
1436
1449
query names_imported_by_glob_use( def_id: LocalDefId )
@@ -1446,13 +1459,15 @@ rustc_queries! {
1446
1459
}
1447
1460
query all_crate_nums( _: ( ) ) -> & ' tcx [ CrateNum ] {
1448
1461
eval_always
1462
+ storage( CellCacheSelector <' tcx>)
1449
1463
desc { "fetching all foreign CrateNum instances" }
1450
1464
}
1451
1465
1452
1466
/// A vector of every trait accessible in the whole crate
1453
1467
/// (i.e., including those from subcrates). This is used only for
1454
1468
/// error reporting.
1455
1469
query all_traits( _: ( ) ) -> & ' tcx [ DefId ] {
1470
+ storage( CellCacheSelector <' tcx>)
1456
1471
desc { "fetching all foreign and local traits" }
1457
1472
}
1458
1473
@@ -1468,6 +1483,7 @@ rustc_queries! {
1468
1483
1469
1484
query collect_and_partition_mono_items( _: ( ) ) -> ( & ' tcx DefIdSet , & ' tcx [ CodegenUnit <' tcx>] ) {
1470
1485
eval_always
1486
+ storage( CellCacheSelector <' tcx>)
1471
1487
desc { "collect_and_partition_mono_items" }
1472
1488
}
1473
1489
query is_codegened_item( def_id: DefId ) -> bool {
@@ -1477,7 +1493,8 @@ rustc_queries! {
1477
1493
/// All items participating in code generation together with items inlined into them.
1478
1494
query codegened_and_inlined_items( _: ( ) ) -> & ' tcx DefIdSet {
1479
1495
eval_always
1480
- desc { "codegened_and_inlined_items" }
1496
+ storage( CellCacheSelector <' tcx>)
1497
+ desc { "codegened_and_inlined_items" }
1481
1498
}
1482
1499
1483
1500
query codegen_unit( _: Symbol ) -> & ' tcx CodegenUnit <' tcx> {
@@ -1491,6 +1508,7 @@ rustc_queries! {
1491
1508
}
1492
1509
}
1493
1510
query backend_optimization_level( _: ( ) ) -> OptLevel {
1511
+ storage( CellCacheSelector <' tcx>)
1494
1512
desc { "optimization level used by backend" }
1495
1513
}
1496
1514
@@ -1672,6 +1690,7 @@ rustc_queries! {
1672
1690
1673
1691
query features_query( _: ( ) ) -> & ' tcx rustc_feature:: Features {
1674
1692
eval_always
1693
+ storage( CellCacheSelector <' tcx>)
1675
1694
desc { "looking up enabled feature gates" }
1676
1695
}
1677
1696
0 commit comments