]> git.lizzy.rs Git - rust.git/commitdiff
sha2 -- introduce locals to clarify which subportions are being borrowed
authorNiko Matsakis <niko@alum.mit.edu>
Fri, 7 Feb 2014 19:52:41 +0000 (14:52 -0500)
committerNiko Matsakis <niko@alum.mit.edu>
Tue, 11 Feb 2014 21:55:24 +0000 (16:55 -0500)
src/librustc/util/sha2.rs

index 1b3f5ec947d7f9dcce98154f0eefd9dd3878d054..116ec6bba290438c81192111018149e383b02ce0 100644 (file)
@@ -453,7 +453,8 @@ fn input(&mut self, input: &[u8]) {
         assert!(!self.finished)
         // Assumes that input.len() can be converted to u64 without overflow
         self.length_bits = add_bytes_to_bits(self.length_bits, input.len() as u64);
-        self.buffer.input(input, |input: &[u8]| { self.state.process_block(input) });
+        let self_state = &mut self.state;
+        self.buffer.input(input, |input: &[u8]| { self_state.process_block(input) });
     }
 
     fn finish(&mut self) {
@@ -461,10 +462,11 @@ fn finish(&mut self) {
             return;
         }
 
-        self.buffer.standard_padding(8, |input: &[u8]| { self.state.process_block(input) });
+        let self_state = &mut self.state;
+        self.buffer.standard_padding(8, |input: &[u8]| { self_state.process_block(input) });
         write_u32_be(self.buffer.next(4), (self.length_bits >> 32) as u32 );
         write_u32_be(self.buffer.next(4), self.length_bits as u32);
-        self.state.process_block(self.buffer.full_buffer());
+        self_state.process_block(self.buffer.full_buffer());
 
         self.finished = true;
     }