@@ -791,18 +791,13 @@ fn locals_live_across_suspend_points<'tcx>(
791791 . into_results_cursor ( body) ;
792792
793793 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 ) ;
800795
801796 // 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 )
803798 . into_engine ( tcx, body)
804799 . iterate_to_fixpoint ( )
805- . into_results_cursor ( body_ref ) ;
800+ . into_results_cursor ( body ) ;
806801
807802 let mut storage_liveness_map = IndexVec :: from_elem ( None , & body. basic_blocks ) ;
808803 let mut live_locals_at_suspension_points = Vec :: new ( ) ;
@@ -851,8 +846,7 @@ fn locals_live_across_suspend_points<'tcx>(
851846 let mut init_locals: BitSet < _ > = BitSet :: new_empty ( body. local_decls . len ( ) ) ;
852847 if let MaybeReachable :: Reachable ( bitset) = inits. get ( ) {
853848 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 ( ) {
856850 init_locals. insert ( local) ;
857851 }
858852 }
0 commit comments