diff --git a/src/libcore/to_bytes.rs b/src/libcore/to_bytes.rs index b0e445c1b198..900cc97066c5 100644 --- a/src/libcore/to_bytes.rs +++ b/src/libcore/to_bytes.rs @@ -208,19 +208,22 @@ impl &[A]: IterBytes { impl (A,B): IterBytes { #[inline(always)] pure fn iter_bytes(&self, lsb0: bool, f: Cb) { - let &(ref a, ref b) = self; - a.iter_bytes(lsb0, f); - b.iter_bytes(lsb0, f); + match *self { + (ref a, ref b) => { + iter_bytes_2(a, b, lsb0, f); + } + } } } impl (A,B,C): IterBytes { #[inline(always)] pure fn iter_bytes(&self, lsb0: bool, f: Cb) { - let &(ref a, ref b, ref c) = self; - a.iter_bytes(lsb0, f); - b.iter_bytes(lsb0, f); - c.iter_bytes(lsb0, f); + match *self { + (ref a, ref b, ref c) => { + iter_bytes_3(a, b, c, lsb0, f); + } + } } }