Skip to content

Commit e5defd0

Browse files
committed
Convert manual loop into while let
1 parent 4b4948c commit e5defd0

File tree

1 file changed

+1
-11
lines changed

1 file changed

+1
-11
lines changed

compiler/rustc_middle/src/mir/traversal.rs

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -178,17 +178,7 @@ impl<'a, 'tcx> Postorder<'a, 'tcx> {
178178
// When we yield `B` and call `traverse_successor`, we push `C` to the stack, but
179179
// since we've already visited `E`, that child isn't added to the stack. The last
180180
// two iterations yield `C` and finally `A` for a final traversal of [E, D, B, C, A]
181-
loop {
182-
let bb = if let Some(&mut (_, ref mut iter)) = self.visit_stack.last_mut() {
183-
if let Some(bb) = iter.next() {
184-
bb
185-
} else {
186-
break;
187-
}
188-
} else {
189-
break;
190-
};
191-
181+
while let Some(&mut (_, ref mut iter)) = self.visit_stack.last_mut() && let Some(bb) = iter.next() {
192182
if self.visited.insert(bb) {
193183
if let Some(term) = &self.basic_blocks[bb].terminator {
194184
self.visit_stack.push((bb, term.successors()));

0 commit comments

Comments
 (0)