@@ -246,12 +246,14 @@ fn get_arm_identity_info<'a, 'tcx>(
246
246
tmp_assigned_vars. insert ( * r) ;
247
247
}
248
248
249
- let mut dbg_info_to_adjust = Vec :: new ( ) ;
250
- for ( i, var_info) in debug_info. iter ( ) . enumerate ( ) {
251
- if tmp_assigned_vars. contains ( var_info. place . local ) {
252
- dbg_info_to_adjust. push ( i) ;
253
- }
254
- }
249
+ let dbg_info_to_adjust: Vec < _ > =
250
+ debug_info
251
+ . iter ( )
252
+ . enumerate ( )
253
+ . filter_map ( |( i, var_info) | {
254
+ if tmp_assigned_vars. contains ( var_info. place . local ) { Some ( i) } else { None }
255
+ } )
256
+ . collect ( ) ;
255
257
256
258
Some ( ArmIdentityInfo {
257
259
local_temp_0 : local_tmp_s0,
@@ -461,14 +463,14 @@ fn match_get_variant_field<'tcx>(
461
463
stmt : & Statement < ' tcx > ,
462
464
) -> Option < ( Local , Local , VarField < ' tcx > , & ' tcx List < PlaceElem < ' tcx > > ) > {
463
465
match & stmt. kind {
464
- StatementKind :: Assign ( box ( place_into , rvalue_from ) ) => match rvalue_from {
465
- Rvalue :: Use ( Operand :: Copy ( pf ) | Operand :: Move ( pf ) ) => {
466
- let local_into = place_into . as_local ( ) ? ;
467
- let ( local_from , vf ) = match_variant_field_place ( * pf ) ? ;
468
- Some ( ( local_into, local_from , vf , pf . projection ) )
469
- }
470
- _ => None ,
471
- } ,
466
+ StatementKind :: Assign ( box (
467
+ place_into ,
468
+ Rvalue :: Use ( Operand :: Copy ( pf ) | Operand :: Move ( pf ) ) ,
469
+ ) ) => {
470
+ let local_into = place_into . as_local ( ) ? ;
471
+ let ( local_from , vf ) = match_variant_field_place ( * pf ) ? ;
472
+ Some ( ( local_into , local_from , vf , pf . projection ) )
473
+ }
472
474
_ => None ,
473
475
}
474
476
}
@@ -479,14 +481,11 @@ fn match_get_variant_field<'tcx>(
479
481
/// ```
480
482
fn match_set_variant_field < ' tcx > ( stmt : & Statement < ' tcx > ) -> Option < ( Local , Local , VarField < ' tcx > ) > {
481
483
match & stmt. kind {
482
- StatementKind :: Assign ( box ( place_from, rvalue_into) ) => match rvalue_into {
483
- Rvalue :: Use ( Operand :: Move ( place_into) ) => {
484
- let local_into = place_into. as_local ( ) ?;
485
- let ( local_from, vf) = match_variant_field_place ( * place_from) ?;
486
- Some ( ( local_into, local_from, vf) )
487
- }
488
- _ => None ,
489
- } ,
484
+ StatementKind :: Assign ( box ( place_from, Rvalue :: Use ( Operand :: Move ( place_into) ) ) ) => {
485
+ let local_into = place_into. as_local ( ) ?;
486
+ let ( local_from, vf) = match_variant_field_place ( * place_from) ?;
487
+ Some ( ( local_into, local_from, vf) )
488
+ }
490
489
_ => None ,
491
490
}
492
491
}
0 commit comments