@@ -257,11 +257,11 @@ impl<'tcx> TransformVisitor<'tcx> {
257257 StatementKind :: Assign ( Box :: new( ( Place :: return_place( ) , none_value) ) ) ,
258258 ) ] ;
259259
260- body. basic_blocks_mut ( ) . push ( BasicBlockData {
260+ body. basic_blocks_mut ( ) . push ( BasicBlockData :: new_stmts (
261261 statements,
262- terminator : Some ( Terminator { source_info, kind : TerminatorKind :: Return } ) ,
263- is_cleanup : false ,
264- } ) ;
262+ Some ( Terminator { source_info, kind : TerminatorKind :: Return } ) ,
263+ false ,
264+ ) ) ;
265265
266266 block
267267 }
@@ -1073,11 +1073,11 @@ fn insert_switch<'tcx>(
10731073 let source_info = SourceInfo :: outermost ( body. span ) ;
10741074 body. basic_blocks_mut ( ) . raw . insert (
10751075 0 ,
1076- BasicBlockData {
1077- statements : vec ! [ assign] ,
1078- terminator : Some ( Terminator { source_info, kind : switch } ) ,
1079- is_cleanup : false ,
1080- } ,
1076+ BasicBlockData :: new_stmts (
1077+ vec ! [ assign] ,
1078+ Some ( Terminator { source_info, kind : switch } ) ,
1079+ false ,
1080+ ) ,
10811081 ) ;
10821082
10831083 for b in body. basic_blocks_mut ( ) . iter_mut ( ) {
@@ -1087,11 +1087,7 @@ fn insert_switch<'tcx>(
10871087
10881088fn insert_term_block < ' tcx > ( body : & mut Body < ' tcx > , kind : TerminatorKind < ' tcx > ) -> BasicBlock {
10891089 let source_info = SourceInfo :: outermost ( body. span ) ;
1090- body. basic_blocks_mut ( ) . push ( BasicBlockData {
1091- statements : Vec :: new ( ) ,
1092- terminator : Some ( Terminator { source_info, kind } ) ,
1093- is_cleanup : false ,
1094- } )
1090+ body. basic_blocks_mut ( ) . push ( BasicBlockData :: new ( Some ( Terminator { source_info, kind } ) , false ) )
10951091}
10961092
10971093fn return_poll_ready_assign < ' tcx > ( tcx : TyCtxt < ' tcx > , source_info : SourceInfo ) -> Statement < ' tcx > {
@@ -1112,11 +1108,11 @@ fn return_poll_ready_assign<'tcx>(tcx: TyCtxt<'tcx>, source_info: SourceInfo) ->
11121108
11131109fn insert_poll_ready_block < ' tcx > ( tcx : TyCtxt < ' tcx > , body : & mut Body < ' tcx > ) -> BasicBlock {
11141110 let source_info = SourceInfo :: outermost ( body. span ) ;
1115- body. basic_blocks_mut ( ) . push ( BasicBlockData {
1116- statements : [ return_poll_ready_assign ( tcx, source_info) ] . to_vec ( ) ,
1117- terminator : Some ( Terminator { source_info, kind : TerminatorKind :: Return } ) ,
1118- is_cleanup : false ,
1119- } )
1111+ body. basic_blocks_mut ( ) . push ( BasicBlockData :: new_stmts (
1112+ [ return_poll_ready_assign ( tcx, source_info) ] . to_vec ( ) ,
1113+ Some ( Terminator { source_info, kind : TerminatorKind :: Return } ) ,
1114+ false ,
1115+ ) )
11201116}
11211117
11221118fn insert_panic_block < ' tcx > (
@@ -1200,13 +1196,11 @@ fn generate_poison_block_and_redirect_unwinds_there<'tcx>(
12001196 body : & mut Body < ' tcx > ,
12011197) {
12021198 let source_info = SourceInfo :: outermost ( body. span ) ;
1203- let poison_block = body. basic_blocks_mut ( ) . push ( BasicBlockData {
1204- statements : vec ! [
1205- transform. set_discr( VariantIdx :: new( CoroutineArgs :: POISONED ) , source_info) ,
1206- ] ,
1207- terminator : Some ( Terminator { source_info, kind : TerminatorKind :: UnwindResume } ) ,
1208- is_cleanup : true ,
1209- } ) ;
1199+ let poison_block = body. basic_blocks_mut ( ) . push ( BasicBlockData :: new_stmts (
1200+ vec ! [ transform. set_discr( VariantIdx :: new( CoroutineArgs :: POISONED ) , source_info) ] ,
1201+ Some ( Terminator { source_info, kind : TerminatorKind :: UnwindResume } ) ,
1202+ true ,
1203+ ) ) ;
12101204
12111205 for ( idx, block) in body. basic_blocks_mut ( ) . iter_enumerated_mut ( ) {
12121206 let source_info = block. terminator ( ) . source_info ;
@@ -1357,14 +1351,11 @@ fn create_cases<'tcx>(
13571351 }
13581352
13591353 // Then jump to the real target
1360- let block = body. basic_blocks_mut ( ) . push ( BasicBlockData {
1354+ let block = body. basic_blocks_mut ( ) . push ( BasicBlockData :: new_stmts (
13611355 statements,
1362- terminator : Some ( Terminator {
1363- source_info,
1364- kind : TerminatorKind :: Goto { target } ,
1365- } ) ,
1366- is_cleanup : false ,
1367- } ) ;
1356+ Some ( Terminator { source_info, kind : TerminatorKind :: Goto { target } } ) ,
1357+ false ,
1358+ ) ) ;
13681359
13691360 ( point. state , block)
13701361 } )
0 commit comments