diff --git a/src/bin/08.rs b/src/bin/08.rs index 37191c0..14c24ad 100644 --- a/src/bin/08.rs +++ b/src/bin/08.rs @@ -46,8 +46,8 @@ fn part2(input: &str) -> usize { } fn connect(mut circuits: Vec, (a, b): (JBox, JBox)) -> Vec { - let with_a = circuits.iter_mut().position(|c| c.contains(&a)); - let with_b = circuits.iter_mut().position(|c| c.contains(&b)); + let with_a = circuits.iter().position(|c| c.contains(&a)); + let with_b = circuits.iter().position(|c| c.contains(&b)); match (with_a, with_b) { (Some(with_a), Some(with_b)) => { // Merge into with_a. with_b will be empty, but whatever. @@ -71,8 +71,7 @@ fn pairs(boxes: &[JBox]) -> impl Iterator + use<'_> { boxes .iter() .copied() - .combinations(2) - .map(|v| (v[0], v[1])) + .tuple_combinations() .sorted_by_key(|&(a, b)| distance(a, b)) }