@@ -1713,28 +1713,22 @@ impl<'a, 'tcx: 'a> Builder<'a, 'tcx> {
1713
1713
let dropline_target = self . diverge_dropline_target ( else_scope, span) ;
1714
1714
let mut dropline_indices = IndexVec :: from_elem_n ( dropline_target, 1 ) ;
1715
1715
for ( drop_idx, drop_data) in drops. drop_nodes . iter_enumerated ( ) . skip ( 1 ) {
1716
+ let coroutine_drop = self
1717
+ . scopes
1718
+ . coroutine_drops
1719
+ . add_drop ( drop_data. data , dropline_indices[ drop_data. next ] ) ;
1716
1720
match drop_data. data . kind {
1717
- DropKind :: Storage | DropKind :: ForLint => {
1718
- let coroutine_drop = self
1719
- . scopes
1720
- . coroutine_drops
1721
- . add_drop ( drop_data. data , dropline_indices[ drop_data. next ] ) ;
1722
- dropline_indices. push ( coroutine_drop) ;
1723
- }
1721
+ DropKind :: Storage | DropKind :: ForLint => { }
1724
1722
DropKind :: Value => {
1725
- let coroutine_drop = self
1726
- . scopes
1727
- . coroutine_drops
1728
- . add_drop ( drop_data. data , dropline_indices[ drop_data. next ] ) ;
1729
1723
if self . is_async_drop ( drop_data. data . local ) {
1730
1724
self . scopes . coroutine_drops . add_entry_point (
1731
1725
blocks[ drop_idx] . unwrap ( ) ,
1732
1726
dropline_indices[ drop_data. next ] ,
1733
1727
) ;
1734
1728
}
1735
- dropline_indices. push ( coroutine_drop) ;
1736
1729
}
1737
1730
}
1731
+ dropline_indices. push ( coroutine_drop) ;
1738
1732
}
1739
1733
}
1740
1734
blocks[ ROOT_NODE ] . map ( BasicBlock :: unit)
0 commit comments