diff --git a/compiler/rustc_ast_pretty/src/pp.rs b/compiler/rustc_ast_pretty/src/pp.rs index dca0515a33033..d9832d560a841 100644 --- a/compiler/rustc_ast_pretty/src/pp.rs +++ b/compiler/rustc_ast_pretty/src/pp.rs @@ -380,24 +380,25 @@ impl Printer { fn check_stack(&mut self, mut k: usize) { while let Some(&x) = self.scan_stack.front() { - match self.buf[x].token { + let mut entry = &mut self.buf[x]; + match entry.token { Token::Begin(_) => { if k == 0 { break; } self.scan_stack.pop_front().unwrap(); - self.buf[x].size += self.right_total; + entry.size += self.right_total; k -= 1; } Token::End => { // paper says + not =, but that makes no sense. self.scan_stack.pop_front().unwrap(); - self.buf[x].size = 1; + entry.size = 1; k += 1; } _ => { self.scan_stack.pop_front().unwrap(); - self.buf[x].size += self.right_total; + entry.size += self.right_total; if k == 0 { break; }