From b0ac40a243b1385ecf0bc25505fa3e65f32013c3 Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Fri, 7 Feb 2014 14:52:41 -0500 Subject: [PATCH] sha2 -- introduce locals to clarify which subportions are being borrowed --- src/librustc/util/sha2.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/librustc/util/sha2.rs b/src/librustc/util/sha2.rs index 1b3f5ec947d7..116ec6bba290 100644 --- a/src/librustc/util/sha2.rs +++ b/src/librustc/util/sha2.rs @@ -453,7 +453,8 @@ impl Engine256 { 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 @@ impl Engine256 { 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; }