]> git.lizzy.rs Git - rust.git/commitdiff
Simplify check_stack implementation
authorMark Rousskov <mark.simulacrum@gmail.com>
Sun, 7 Jul 2019 14:15:47 +0000 (10:15 -0400)
committerMark Rousskov <mark.simulacrum@gmail.com>
Wed, 10 Jul 2019 11:12:29 +0000 (07:12 -0400)
src/libsyntax/print/pp.rs

index 27139c1fc9039fc77a61ff108a07210970bc088a..bff291348d70f1712b5fa9248e6a2e6f102c6b09 100644 (file)
@@ -452,26 +452,26 @@ fn advance_left(&mut self) {
         }
     }
 
-    fn check_stack(&mut self, k: isize) {
+    fn check_stack(&mut self, k: usize) {
         if !self.scan_stack.is_empty() {
             let x = self.scan_top();
             match self.buf[x].token {
                 Token::Begin(_) => {
                     if k > 0 {
-                        let popped = self.scan_pop();
-                        self.buf[popped].size = self.buf[x].size + self.right_total;
+                        self.scan_pop();
+                        self.buf[x].size += self.right_total;
                         self.check_stack(k - 1);
                     }
                 }
                 Token::End => {
                     // paper says + not =, but that makes no sense.
-                    let popped = self.scan_pop();
-                    self.buf[popped].size = 1;
+                    self.scan_pop();
+                    self.buf[x].size = 1;
                     self.check_stack(k + 1);
                 }
                 _ => {
-                    let popped = self.scan_pop();
-                    self.buf[popped].size = self.buf[x].size + self.right_total;
+                    self.scan_pop();
+                    self.buf[x].size += self.right_total;
                     if k > 0 {
                         self.check_stack(k);
                     }