From 83fa28b21d7dbc15e468aff24c7effaa6f0c8e29 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 9 Dec 2019 16:34:48 +0100 Subject: [PATCH] 2019: day08: fix clippy lints --- aoc2019/src/day08.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/aoc2019/src/day08.rs b/aoc2019/src/day08.rs index 8f2d4f7..7bbad29 100644 --- a/aoc2019/src/day08.rs +++ b/aoc2019/src/day08.rs @@ -26,20 +26,20 @@ fn part1(image: &Image) -> Result { let most_zero_layer = image .layers .iter() - .min_by_key(|l| l.pixels.iter().flat_map(|l| l).filter(|d| **d == 0).count()) + .min_by_key(|l| l.pixels.iter().flatten().filter(|d| **d == 0).count()) .ok_or_else(|| err!("image had 0 layers..."))?; let one_count = most_zero_layer .pixels .iter() - .flat_map(|l| l) + .flatten() .filter(|d| **d == 1) .count(); let two_count = most_zero_layer .pixels .iter() - .flat_map(|l| l) + .flatten() .filter(|d| **d == 2) .count(); @@ -99,10 +99,10 @@ impl FromStr for Image { // overlap layers for layer in layers.iter() { - for i in 0..layer.pixels.len() { - for j in 0..layer.pixels[i].len() { - if let 2 = result[i][j] { - result[i][j] = layer.pixels[i][j]; + for (src_row, dst_row) in layer.pixels.iter().zip(result.iter_mut()) { + for (src_pixel, dst_pixel) in src_row.iter().zip(dst_row.iter_mut()) { + if let 2 = *dst_pixel { + *dst_pixel = *src_pixel; } } }