From 6d7a0c8cbcd81242d12ad41e0d13c2408c73c8ac Mon Sep 17 00:00:00 2001 From: blake2-ppc Date: Wed, 31 Jul 2013 21:07:44 +0200 Subject: [PATCH] std: Use `do` blocks instead of `for` with .iter_bytes() --- src/libstd/hash.rs | 75 +++++++++++++++++++++++++----------------- src/libstd/to_bytes.rs | 7 ++-- 2 files changed, 49 insertions(+), 33 deletions(-) diff --git a/src/libstd/hash.rs b/src/libstd/hash.rs index 16d138d4e1f..5d4b9b4e3f0 100644 --- a/src/libstd/hash.rs +++ b/src/libstd/hash.rs @@ -85,9 +85,10 @@ impl Hash for A { #[inline] fn hash_keyed(&self, k0: u64, k1: u64) -> u64 { let mut s = State::new(k0, k1); - for self.iter_bytes(true) |bytes| { + do self.iter_bytes(true) |bytes| { s.input(bytes); - } + true + }; s.result_u64() } } @@ -95,12 +96,14 @@ impl Hash for A { fn hash_keyed_2(a: &A, b: &B, k0: u64, k1: u64) -> u64 { let mut s = State::new(k0, k1); - for a.iter_bytes(true) |bytes| { + do a.iter_bytes(true) |bytes| { s.input(bytes); - } - for b.iter_bytes(true) |bytes| { + true + }; + do b.iter_bytes(true) |bytes| { s.input(bytes); - } + true + }; s.result_u64() } @@ -108,15 +111,18 @@ fn hash_keyed_3(a: &A, b: &B, c: &C, k0: u64, k1: u64) -> u64 { let mut s = State::new(k0, k1); - for a.iter_bytes(true) |bytes| { + do a.iter_bytes(true) |bytes| { s.input(bytes); - } - for b.iter_bytes(true) |bytes| { + true + }; + do b.iter_bytes(true) |bytes| { s.input(bytes); - } - for c.iter_bytes(true) |bytes| { + true + }; + do c.iter_bytes(true) |bytes| { s.input(bytes); - } + true + }; s.result_u64() } @@ -132,18 +138,22 @@ fn hash_keyed_4 u64 { let mut s = State::new(k0, k1); - for a.iter_bytes(true) |bytes| { + do a.iter_bytes(true) |bytes| { s.input(bytes); - } - for b.iter_bytes(true) |bytes| { + true + }; + do b.iter_bytes(true) |bytes| { s.input(bytes); - } - for c.iter_bytes(true) |bytes| { + true + }; + do c.iter_bytes(true) |bytes| { s.input(bytes); - } - for d.iter_bytes(true) |bytes| { + true + }; + do d.iter_bytes(true) |bytes| { s.input(bytes); - } + true + }; s.result_u64() } @@ -161,21 +171,26 @@ fn hash_keyed_5 u64 { let mut s = State::new(k0, k1); - for a.iter_bytes(true) |bytes| { + do a.iter_bytes(true) |bytes| { s.input(bytes); - } - for b.iter_bytes(true) |bytes| { + true + }; + do b.iter_bytes(true) |bytes| { s.input(bytes); - } - for c.iter_bytes(true) |bytes| { + true + }; + do c.iter_bytes(true) |bytes| { s.input(bytes); - } - for d.iter_bytes(true) |bytes| { + true + }; + do d.iter_bytes(true) |bytes| { s.input(bytes); - } - for e.iter_bytes(true) |bytes| { + true + }; + do e.iter_bytes(true) |bytes| { s.input(bytes); - } + true + }; s.result_u64() } diff --git a/src/libstd/to_bytes.rs b/src/libstd/to_bytes.rs index 60df31fd4ca..5ad7969c8d2 100644 --- a/src/libstd/to_bytes.rs +++ b/src/libstd/to_bytes.rs @@ -353,9 +353,10 @@ pub trait ToBytes { impl ToBytes for A { fn to_bytes(&self, lsb0: bool) -> ~[u8] { do io::with_bytes_writer |wr| { - for self.iter_bytes(lsb0) |bytes| { - wr.write(bytes) - } + do self.iter_bytes(lsb0) |bytes| { + wr.write(bytes); + true + }; } } }