@@ -21,6 +21,7 @@ rustc_queries! {
2121 /// To avoid this fate, do not call `tcx.hir().krate()`; instead,
2222 /// prefer wrappers like `tcx.visit_all_items_in_krate()`.
2323 query hir_crate( key: ( ) ) -> & ' tcx Crate <' tcx> {
24+ storage( SingletonCacheSelector )
2425 eval_always
2526 no_hash
2627 desc { "get the crate HIR" }
@@ -29,6 +30,7 @@ rustc_queries! {
2930 /// The indexed HIR. This can be conveniently accessed by `tcx.hir()`.
3031 /// Avoid calling this query directly.
3132 query index_hir( _: ( ) ) -> & ' tcx crate :: hir:: IndexedHir <' tcx> {
33+ storage( SingletonCacheSelector )
3234 eval_always
3335 no_hash
3436 desc { "index HIR" }
@@ -115,6 +117,7 @@ rustc_queries! {
115117 }
116118
117119 query analysis( key: ( ) ) -> Result <( ) , ErrorReported > {
120+ storage( SingletonCacheSelector )
118121 eval_always
119122 desc { "running analysis passes on this crate" }
120123 }
@@ -701,6 +704,7 @@ rustc_queries! {
701704 }
702705
703706 query typeck_item_bodies( _: ( ) ) -> ( ) {
707+ storage( SingletonCacheSelector )
704708 desc { "type-checking all item bodies" }
705709 }
706710
@@ -769,6 +773,7 @@ rustc_queries! {
769773 /// Not meant to be used directly outside of coherence.
770774 query crate_inherent_impls_overlap_check( _: ( ) )
771775 -> ( ) {
776+ storage( SingletonCacheSelector )
772777 eval_always
773778 desc { "check for overlap between inherent impls defined in this crate" }
774779 }
@@ -862,10 +867,12 @@ rustc_queries! {
862867
863868 /// Performs part of the privacy check and computes "access levels".
864869 query privacy_access_levels( _: ( ) ) -> & ' tcx AccessLevels {
870+ storage( SingletonCacheSelector )
865871 eval_always
866872 desc { "privacy access levels" }
867873 }
868874 query check_private_in_public( _: ( ) ) -> ( ) {
875+ storage( SingletonCacheSelector )
869876 eval_always
870877 desc { "checking for private elements in public interfaces" }
871878 }
@@ -981,6 +988,7 @@ rustc_queries! {
981988 ///
982989 /// [`LOCAL_CRATE`]: rustc_hir::def_id::LOCAL_CRATE
983990 query all_local_trait_impls( _: ( ) ) -> & ' tcx BTreeMap <DefId , Vec <LocalDefId >> {
991+ storage( SingletonCacheSelector )
984992 desc { "local trait impls" }
985993 }
986994
@@ -1084,6 +1092,7 @@ rustc_queries! {
10841092 }
10851093
10861094 query dependency_formats( _: ( ) ) -> Lrc <crate :: middle:: dependency_format:: Dependencies > {
1095+ storage( SingletonCacheSelector )
10871096 desc { "get the linkage format of all dependencies" }
10881097 }
10891098
@@ -1229,12 +1238,15 @@ rustc_queries! {
12291238 /// Identifies the entry-point (e.g., the `main` function) for a given
12301239 /// crate, returning `None` if there is no entry point (such as for library crates).
12311240 query entry_fn( _: ( ) ) -> Option <( DefId , EntryFnType ) > {
1241+ storage( SingletonCacheSelector )
12321242 desc { "looking up the entry function of a crate" }
12331243 }
12341244 query plugin_registrar_fn( _: ( ) ) -> Option <LocalDefId > {
1245+ storage( SingletonCacheSelector )
12351246 desc { "looking up the plugin registrar for a crate" }
12361247 }
12371248 query proc_macro_decls_static( _: ( ) ) -> Option <LocalDefId > {
1249+ storage( SingletonCacheSelector )
12381250 desc { "looking up the derive registrar for a crate" }
12391251 }
12401252 query crate_disambiguator( _: CrateNum ) -> CrateDisambiguator {
@@ -1411,6 +1423,7 @@ rustc_queries! {
14111423 desc { "looking at the source for a crate" }
14121424 }
14131425 query postorder_cnums( _: ( ) ) -> & ' tcx [ CrateNum ] {
1426+ storage( SingletonCacheSelector )
14141427 eval_always
14151428 desc { "generating a postorder list of CrateNums" }
14161429 }
@@ -1430,6 +1443,7 @@ rustc_queries! {
14301443 desc { |tcx| "maybe_unused_trait_import for `{}`" , tcx. def_path_str( def_id. to_def_id( ) ) }
14311444 }
14321445 query maybe_unused_extern_crates( _: ( ) ) -> & ' tcx [ ( LocalDefId , Span ) ] {
1446+ storage( SingletonCacheSelector )
14331447 eval_always
14341448 desc { "looking up all possibly unused extern crates" }
14351449 }
@@ -1445,6 +1459,7 @@ rustc_queries! {
14451459 desc { "calculating the stability index for the local crate" }
14461460 }
14471461 query all_crate_nums( _: ( ) ) -> & ' tcx [ CrateNum ] {
1462+ storage( SingletonCacheSelector )
14481463 eval_always
14491464 desc { "fetching all foreign CrateNum instances" }
14501465 }
@@ -1453,6 +1468,7 @@ rustc_queries! {
14531468 /// (i.e., including those from subcrates). This is used only for
14541469 /// error reporting.
14551470 query all_traits( _: ( ) ) -> & ' tcx [ DefId ] {
1471+ storage( SingletonCacheSelector )
14561472 desc { "fetching all foreign and local traits" }
14571473 }
14581474
@@ -1467,6 +1483,7 @@ rustc_queries! {
14671483 }
14681484
14691485 query collect_and_partition_mono_items( _: ( ) ) -> ( & ' tcx DefIdSet , & ' tcx [ CodegenUnit <' tcx>] ) {
1486+ storage( SingletonCacheSelector )
14701487 eval_always
14711488 desc { "collect_and_partition_mono_items" }
14721489 }
@@ -1476,6 +1493,7 @@ rustc_queries! {
14761493
14771494 /// All items participating in code generation together with items inlined into them.
14781495 query codegened_and_inlined_items( _: ( ) ) -> & ' tcx DefIdSet {
1496+ storage( SingletonCacheSelector )
14791497 eval_always
14801498 desc { "codegened_and_inlined_items" }
14811499 }
@@ -1491,10 +1509,12 @@ rustc_queries! {
14911509 }
14921510 }
14931511 query backend_optimization_level( _: ( ) ) -> OptLevel {
1512+ storage( SingletonCacheSelector )
14941513 desc { "optimization level used by backend" }
14951514 }
14961515
14971516 query output_filenames( _: ( ) ) -> Arc <OutputFilenames > {
1517+ storage( SingletonCacheSelector )
14981518 eval_always
14991519 desc { "output_filenames" }
15001520 }
0 commit comments