@@ -257,11 +257,11 @@ impl<'tcx> TransformVisitor<'tcx> {
257
257
StatementKind :: Assign ( Box :: new( ( Place :: return_place( ) , none_value) ) ) ,
258
258
) ] ;
259
259
260
- body. basic_blocks_mut ( ) . push ( BasicBlockData {
260
+ body. basic_blocks_mut ( ) . push ( BasicBlockData :: new_stmts (
261
261
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
+ ) ) ;
265
265
266
266
block
267
267
}
@@ -1073,11 +1073,11 @@ fn insert_switch<'tcx>(
1073
1073
let source_info = SourceInfo :: outermost ( body. span ) ;
1074
1074
body. basic_blocks_mut ( ) . raw . insert (
1075
1075
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
+ ) ,
1081
1081
) ;
1082
1082
1083
1083
for b in body. basic_blocks_mut ( ) . iter_mut ( ) {
@@ -1087,11 +1087,7 @@ fn insert_switch<'tcx>(
1087
1087
1088
1088
fn insert_term_block < ' tcx > ( body : & mut Body < ' tcx > , kind : TerminatorKind < ' tcx > ) -> BasicBlock {
1089
1089
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 ) )
1095
1091
}
1096
1092
1097
1093
fn 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) ->
1112
1108
1113
1109
fn insert_poll_ready_block < ' tcx > ( tcx : TyCtxt < ' tcx > , body : & mut Body < ' tcx > ) -> BasicBlock {
1114
1110
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
+ ) )
1120
1116
}
1121
1117
1122
1118
fn insert_panic_block < ' tcx > (
@@ -1200,13 +1196,11 @@ fn generate_poison_block_and_redirect_unwinds_there<'tcx>(
1200
1196
body : & mut Body < ' tcx > ,
1201
1197
) {
1202
1198
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
+ ) ) ;
1210
1204
1211
1205
for ( idx, block) in body. basic_blocks_mut ( ) . iter_enumerated_mut ( ) {
1212
1206
let source_info = block. terminator ( ) . source_info ;
@@ -1357,14 +1351,11 @@ fn create_cases<'tcx>(
1357
1351
}
1358
1352
1359
1353
// 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 (
1361
1355
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
+ ) ) ;
1368
1359
1369
1360
( point. state , block)
1370
1361
} )
0 commit comments