From f89bbf2bffc3288f849e1c5198b97f63bd91fdff Mon Sep 17 00:00:00 2001 From: Keenan Tims Date: Tue, 2 Dec 2025 21:35:09 -0800 Subject: [PATCH] clippies --- .aoc_tiles/tiles/2025/03.png | Bin 0 -> 7583 bytes README.md | 5 ++++- src/day2.rs | 10 +++++----- src/day3.rs | 9 ++------- src/lib.rs | 2 +- 5 files changed, 12 insertions(+), 14 deletions(-) create mode 100644 .aoc_tiles/tiles/2025/03.png diff --git a/.aoc_tiles/tiles/2025/03.png b/.aoc_tiles/tiles/2025/03.png new file mode 100644 index 0000000000000000000000000000000000000000..73761047055e0f3337c8cfad1a7b7e3906410268 GIT binary patch literal 7583 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 807be67..ba3e2c6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@

- 2025 - 4 ⭐ - Rust + 2025 - 6 ⭐ - Rust

@@ -8,4 +8,7 @@ + + + diff --git a/src/day2.rs b/src/day2.rs index d5629c6..974fd2f 100644 --- a/src/day2.rs +++ b/src/day2.rs @@ -31,7 +31,7 @@ fn part1(input: &[RangeInclusive]) -> u64 { for r in input { for product in r.clone() { let prod_s = product.to_string(); - if prod_s.len() % 2 != 0 { + if !prod_s.len().is_multiple_of(2) { continue; } let (left, right) = prod_s.split_at(prod_s.len() / 2); @@ -50,7 +50,7 @@ fn part2(input: &[RangeInclusive]) -> u64 { for product in r.clone() { let prod_s = product.to_string(); for n in 1..=prod_s.len() / 2 { - if prod_s.len() % n != 0 { + if !prod_s.len().is_multiple_of(n) { continue; } if prod_s @@ -76,7 +76,7 @@ fn part1_arithmetic_brute(input: &[RangeInclusive]) -> u64 { // println!("Range: {:?}", r); for product in r.clone() { let n_digits = (product.ilog10() + 1) as usize; - if n_digits % 2 != 0 { + if !n_digits.is_multiple_of(2) { continue; } @@ -101,7 +101,7 @@ fn part2_arithmetic_brute(input: &[RangeInclusive]) -> u64 { for n in 1..=n_digits / 2 { let repetitions = n_digits / n; - if n_digits % n != 0 { + if !n_digits.is_multiple_of(n) { continue; } let decade = POW10[n_digits - n]; @@ -127,7 +127,7 @@ fn part1_clever(input: &[RangeInclusive]) -> u64 { for r in input { let n_digits = (r.start().ilog10() + 1) as usize; - let mut lhs = if n_digits % 2 != 0 { + let mut lhs = if !n_digits.is_multiple_of(2) { // If the number of digits is odd, we start our guess at the first possibility in the next decade POW10[n_digits / 2] } else { diff --git a/src/day3.rs b/src/day3.rs index 5cf2ada..2be5275 100644 --- a/src/day3.rs +++ b/src/day3.rs @@ -1,11 +1,6 @@ -use std::collections::HashMap; - use aoc_runner_derive::{aoc, aoc_generator}; -use lazy_static::lazy_static; use memoize::memoize; -type Bank = [u8]; - #[aoc_generator(day3)] fn parse(input: &str) -> Vec> { input @@ -40,12 +35,12 @@ fn max_joltage(bank: Vec, n: usize) -> u64 { } #[aoc(day3, part1)] -fn part1(input: &Vec>) -> u64 { +fn part1(input: &[Vec]) -> u64 { input.iter().map(|bank| max_joltage(bank.clone(), 2)).sum() } #[aoc(day3, part2)] -fn part2(input: &Vec>) -> u64 { +fn part2(input: &[Vec]) -> u64 { input.iter().map(|bank| max_joltage(bank.clone(), 12)).sum() } diff --git a/src/lib.rs b/src/lib.rs index 3a057fc..31454ef 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,6 +1,6 @@ -mod day3; mod day1; mod day2; +mod day3; use aoc_runner_derive::aoc_lib;