@@ -4,7 +4,7 @@ use rustc_ast::expand::allocator::ALLOCATOR_METHODS;
4
4
use rustc_data_structures:: fingerprint:: Fingerprint ;
5
5
use rustc_data_structures:: fx:: FxHashMap ;
6
6
use rustc_hir as hir;
7
- use rustc_hir:: def_id:: { CrateNum , DefId , DefIdMap , CRATE_DEF_INDEX , LOCAL_CRATE } ;
7
+ use rustc_hir:: def_id:: { CrateNum , DefId , DefIdMap , LocalDefId , CRATE_DEF_INDEX , LOCAL_CRATE } ;
8
8
use rustc_hir:: Node ;
9
9
use rustc_index:: vec:: IndexVec ;
10
10
use rustc_middle:: middle:: codegen_fn_attrs:: CodegenFnAttrFlags ;
@@ -60,7 +60,7 @@ fn reachable_non_generics_provider(tcx: TyCtxt<'_>, cnum: CrateNum) -> DefIdMap<
60
60
tcx. is_panic_runtime ( LOCAL_CRATE ) || tcx. is_compiler_builtins ( LOCAL_CRATE ) ;
61
61
62
62
let mut reachable_non_generics: DefIdMap < _ > = tcx
63
- . reachable_set ( LOCAL_CRATE )
63
+ . reachable_set ( ( ) )
64
64
. iter ( )
65
65
. filter_map ( |& def_id| {
66
66
// We want to ignore some FFI functions that are not exposed from
@@ -133,12 +133,12 @@ fn reachable_non_generics_provider(tcx: TyCtxt<'_>, cnum: CrateNum) -> DefIdMap<
133
133
} )
134
134
. collect ( ) ;
135
135
136
- if let Some ( id) = tcx. proc_macro_decls_static ( LOCAL_CRATE ) {
137
- reachable_non_generics. insert ( id, SymbolExportLevel :: C ) ;
136
+ if let Some ( id) = tcx. proc_macro_decls_static ( ( ) ) {
137
+ reachable_non_generics. insert ( id. to_def_id ( ) , SymbolExportLevel :: C ) ;
138
138
}
139
139
140
- if let Some ( id) = tcx. plugin_registrar_fn ( LOCAL_CRATE ) {
141
- reachable_non_generics. insert ( id, SymbolExportLevel :: C ) ;
140
+ if let Some ( id) = tcx. plugin_registrar_fn ( ( ) ) {
141
+ reachable_non_generics. insert ( id. to_def_id ( ) , SymbolExportLevel :: C ) ;
142
142
}
143
143
144
144
reachable_non_generics
@@ -174,7 +174,7 @@ fn exported_symbols_provider_local(
174
174
. map ( |( & def_id, & level) | ( ExportedSymbol :: NonGeneric ( def_id) , level) )
175
175
. collect ( ) ;
176
176
177
- if tcx. entry_fn ( LOCAL_CRATE ) . is_some ( ) {
177
+ if tcx. entry_fn ( ( ) ) . is_some ( ) {
178
178
let exported_symbol = ExportedSymbol :: NoDefId ( SymbolName :: new ( tcx, "main" ) ) ;
179
179
180
180
symbols. push ( ( exported_symbol, SymbolExportLevel :: C ) ) ;
@@ -230,7 +230,7 @@ fn exported_symbols_provider_local(
230
230
// external linkage is enough for monomorphization to be linked to.
231
231
let need_visibility = tcx. sess . target . dynamic_linking && !tcx. sess . target . only_cdylib ;
232
232
233
- let ( _, cgus) = tcx. collect_and_partition_mono_items ( LOCAL_CRATE ) ;
233
+ let ( _, cgus) = tcx. collect_and_partition_mono_items ( ( ) ) ;
234
234
235
235
for ( mono_item, & ( linkage, visibility) ) in cgus. iter ( ) . flat_map ( |cgu| cgu. items ( ) . iter ( ) ) {
236
236
if linkage != Linkage :: External {
@@ -275,11 +275,9 @@ fn exported_symbols_provider_local(
275
275
276
276
fn upstream_monomorphizations_provider (
277
277
tcx : TyCtxt < ' _ > ,
278
- cnum : CrateNum ,
278
+ ( ) : ( ) ,
279
279
) -> DefIdMap < FxHashMap < SubstsRef < ' _ > , CrateNum > > {
280
- debug_assert ! ( cnum == LOCAL_CRATE ) ;
281
-
282
- let cnums = tcx. all_crate_nums ( LOCAL_CRATE ) ;
280
+ let cnums = tcx. all_crate_nums ( ( ) ) ;
283
281
284
282
let mut instances: DefIdMap < FxHashMap < _ , _ > > = Default :: default ( ) ;
285
283
@@ -341,7 +339,7 @@ fn upstream_monomorphizations_for_provider(
341
339
def_id : DefId ,
342
340
) -> Option < & FxHashMap < SubstsRef < ' _ > , CrateNum > > {
343
341
debug_assert ! ( !def_id. is_local( ) ) ;
344
- tcx. upstream_monomorphizations ( LOCAL_CRATE ) . get ( & def_id)
342
+ tcx. upstream_monomorphizations ( ( ) ) . get ( & def_id)
345
343
}
346
344
347
345
fn upstream_drop_glue_for_provider < ' tcx > (
@@ -355,12 +353,8 @@ fn upstream_drop_glue_for_provider<'tcx>(
355
353
}
356
354
}
357
355
358
- fn is_unreachable_local_definition_provider ( tcx : TyCtxt < ' _ > , def_id : DefId ) -> bool {
359
- if let Some ( def_id) = def_id. as_local ( ) {
360
- !tcx. reachable_set ( LOCAL_CRATE ) . contains ( & def_id)
361
- } else {
362
- bug ! ( "is_unreachable_local_definition called with non-local DefId: {:?}" , def_id)
363
- }
356
+ fn is_unreachable_local_definition_provider ( tcx : TyCtxt < ' _ > , def_id : LocalDefId ) -> bool {
357
+ !tcx. reachable_set ( ( ) ) . contains ( & def_id)
364
358
}
365
359
366
360
pub fn provide ( providers : & mut Providers ) {
0 commit comments