Use zip rather than array indexing

This commit is contained in:
asonix 2021-06-05 11:46:26 -05:00
parent 390b06d389
commit 4b11c8c9d9

View file

@ -57,8 +57,8 @@ impl Handshake {
}
fn step_1(&mut self, input: &[u8; 32], serial: &mut SerialPort<UsbBus>) -> Option<()> {
for (i, (c1, c2)) in input[..16].iter().zip(&input[16..]).enumerate() {
self.buffer[i] = c1 ^ c2;
for ((c1, c2), out) in input[..16].iter().zip(&input[16..]).zip(&mut self.buffer) {
*out = c1 ^ c2;
}
serial.write(&self.buffer).ok()?;
@ -71,7 +71,7 @@ impl Handshake {
let mut succeeded = true;
for ((c1, c2), c3) in input[..16].iter().zip(&input[16..]).zip(&self.buffer) {
succeeded = succeeded || *c1 == *c2 && *c1 == *c3;
succeeded = succeeded || c1 == c2 && c1 == c3;
}
succeeded