@@ -791,18 +791,13 @@ fn locals_live_across_suspend_points<'tcx>(
791
791
. into_results_cursor ( body) ;
792
792
793
793
let param_env = tcx. param_env ( body. source . def_id ( ) ) ;
794
- let move_data =
795
- MoveData :: gather_moves ( body, tcx, param_env) . unwrap_or_else ( |( move_data, _) | {
796
- tcx. sess . delay_span_bug ( body. span , "gather_moves failed" ) ;
797
- move_data
798
- } ) ;
799
- let mdpe = MoveDataParamEnv { move_data, param_env } ;
794
+ let move_data = MoveData :: gather_moves ( body, tcx, param_env, |_| true ) ;
800
795
801
796
// Calculate the set of locals which are initialized
802
- let mut inits = MaybeInitializedPlaces :: new ( tcx, body, & mdpe )
797
+ let mut inits = MaybeInitializedPlaces :: new ( tcx, body, & move_data )
803
798
. into_engine ( tcx, body)
804
799
. iterate_to_fixpoint ( )
805
- . into_results_cursor ( body_ref ) ;
800
+ . into_results_cursor ( body ) ;
806
801
807
802
let mut storage_liveness_map = IndexVec :: from_elem ( None , & body. basic_blocks ) ;
808
803
let mut live_locals_at_suspension_points = Vec :: new ( ) ;
@@ -851,8 +846,7 @@ fn locals_live_across_suspend_points<'tcx>(
851
846
let mut init_locals: BitSet < _ > = BitSet :: new_empty ( body. local_decls . len ( ) ) ;
852
847
if let MaybeReachable :: Reachable ( bitset) = inits. get ( ) {
853
848
for move_path_index in bitset. iter ( ) {
854
- if let Some ( local) = mdpe. move_data . move_paths [ move_path_index] . place . as_local ( )
855
- {
849
+ if let Some ( local) = move_data. move_paths [ move_path_index] . place . as_local ( ) {
856
850
init_locals. insert ( local) ;
857
851
}
858
852
}
0 commit comments