@@ -50,27 +50,21 @@ pub fn expand_aggregate<'tcx>(
50
50
_ => None ,
51
51
} ;
52
52
53
- operands
54
- . enumerate ( )
55
- . map ( move |( i, ( op, ty) ) | {
56
- let lhs_field = if let AggregateKind :: Array ( _) = kind {
57
- let offset = u64:: try_from ( i) . unwrap ( ) ;
58
- tcx. mk_place_elem (
59
- lhs,
60
- ProjectionElem :: ConstantIndex {
61
- offset,
62
- min_length : offset + 1 ,
63
- from_end : false ,
64
- } ,
65
- )
66
- } else {
67
- let field = Field :: new ( active_field_index. unwrap_or ( i) ) ;
68
- tcx. mk_place_field ( lhs, field, ty)
69
- } ;
70
- Statement {
71
- source_info,
72
- kind : StatementKind :: Assign ( Box :: new ( ( lhs_field, Rvalue :: Use ( op) ) ) ) ,
73
- }
74
- } )
75
- . chain ( set_discriminant)
53
+ let op_iter = operands. enumerate ( ) . map ( move |( i, ( op, ty) ) | {
54
+ let lhs_field = if let AggregateKind :: Array ( _) = kind {
55
+ let offset = u64:: try_from ( i) . unwrap ( ) ;
56
+ tcx. mk_place_elem (
57
+ lhs,
58
+ ProjectionElem :: ConstantIndex { offset, min_length : offset + 1 , from_end : false } ,
59
+ )
60
+ } else {
61
+ let field = Field :: new ( active_field_index. unwrap_or ( i) ) ;
62
+ tcx. mk_place_field ( lhs, field, ty)
63
+ } ;
64
+ Statement {
65
+ source_info,
66
+ kind : StatementKind :: Assign ( Box :: new ( ( lhs_field, Rvalue :: Use ( op) ) ) ) ,
67
+ }
68
+ } ) ;
69
+ set_discriminant. into_iter ( ) . chain ( op_iter)
76
70
}
0 commit comments