From 8b15158631ed69202811bc763e943372ec448424 Mon Sep 17 00:00:00 2001 From: Xiretza Date: Sun, 4 Dec 2022 09:59:33 +0100 Subject: [PATCH] 2022 day3/rust: use tuple instead of struct --- 2022/day3/rust/src/main.rs | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/2022/day3/rust/src/main.rs b/2022/day3/rust/src/main.rs index 4e432ce..b153398 100644 --- a/2022/day3/rust/src/main.rs +++ b/2022/day3/rust/src/main.rs @@ -50,11 +50,6 @@ impl BitAnd for ItemSet { } } -struct Rucksack { - left: ItemSet, - right: ItemSet, -} - fn main() { let mut data = String::new(); stdin().read_to_string(&mut data).unwrap(); @@ -65,16 +60,16 @@ fn main() { let (left, right) = line.split_at(line.len() / 2); assert_eq!(left.len(), right.len()); - let left = left.chars().collect(); - let right = right.chars().collect(); + let left: ItemSet = left.chars().collect(); + let right: ItemSet = right.chars().collect(); - Rucksack { left, right } + (left, right) }) .collect(); let sum1: u32 = sacks .iter() - .map(|sack| (sack.left & sack.right).priority_of_single_item().unwrap()) + .map(|&(left, right)| (left & right).priority_of_single_item().unwrap()) .sum(); let sum2: u32 = sacks @@ -83,7 +78,7 @@ fn main() { .map(|sacks| { sacks .iter() - .map(|sack| sack.left | sack.right) + .map(|&(left, right)| left | right) .reduce(BitAnd::bitand) .unwrap() .priority_of_single_item()