@@ -102,7 +102,7 @@ use rustc::ty::subst::SubstsRef;
102
102
use rustc:: ty:: { self , Ty , TyCtxt } ;
103
103
use rustc:: util;
104
104
use rustc:: util:: common:: ErrorReported ;
105
- use rustc_data_structures:: sync:: par_for_each;
105
+ use rustc_data_structures:: sync:: { join , par_for_each} ;
106
106
use rustc_errors:: struct_span_err;
107
107
use rustc_hir as hir;
108
108
use rustc_hir:: def_id:: { DefId , LOCAL_CRATE } ;
@@ -343,14 +343,19 @@ pub fn check_crate(tcx: TyCtxt<'_>) -> Result<(), ErrorReported> {
343
343
tcx. sess . time ( "wf_checking" , || check:: check_wf_new ( tcx) ) ;
344
344
} ) ?;
345
345
346
- tcx. sess . time ( "item_types_checking" , || {
347
- par_for_each ( & tcx. hir ( ) . krate ( ) . modules , |( & module, _) | {
348
- tcx. ensure ( ) . check_mod_item_types ( tcx. hir ( ) . local_def_id ( module) ) ;
349
- } ) ;
346
+ tcx. sess . time ( "item_types_and_item_bodies_checking" , || {
347
+ join (
348
+ || {
349
+ tcx. sess . time ( "item_types_checking" , || {
350
+ par_for_each ( & tcx. hir ( ) . krate ( ) . modules , |( & module, _) | {
351
+ tcx. ensure ( ) . check_mod_item_types ( tcx. hir ( ) . local_def_id ( module) ) ;
352
+ } ) ;
353
+ } )
354
+ } ,
355
+ || tcx. sess . time ( "item_bodies_checking" , || tcx. typeck_item_bodies ( LOCAL_CRATE ) ) ,
356
+ )
350
357
} ) ;
351
358
352
- tcx. sess . time ( "item_bodies_checking" , || tcx. typeck_item_bodies ( LOCAL_CRATE ) ) ;
353
-
354
359
check_unused:: check_crate ( tcx) ;
355
360
check_for_entry_fn ( tcx) ;
356
361
0 commit comments