Bunch of clippy fixes

This commit is contained in:
2023-01-28 22:52:46 +01:00
parent e914c17f81
commit d5d9b1c192
10 changed files with 23 additions and 30 deletions

View File

@@ -11,7 +11,7 @@ use criterion::Criterion;
const DAYS_IMPLEMENTED: u8 = 25;
fn read_input(day: u8) -> std::io::Result<Vec<u8>> {
let input_path = format!("inputs/{:02}.txt", day);
let input_path = format!("inputs/{day:02}.txt");
let mut buffer = Vec::new();
File::open(input_path)?.read_to_end(&mut buffer)?;

View File

@@ -182,8 +182,7 @@ impl IndexSet {
self.0
.get(entry)
.map(|&entry| (entry & (1 << pos) != 0))
.unwrap_or(false)
.map_or(false, |&entry| (entry & (1 << pos) != 0))
}
}

View File

@@ -84,14 +84,14 @@ fn parse_program(input: &[u8]) -> IResult<&[u8], (u32, Vec<u32>)> {
pub fn part1(input: &[u8]) -> Result<String> {
let (_, sizes) = parse_input(input, parse_program)?;
let searched_size: u32 = sizes.into_iter().filter(|&size| size <= 100000).sum();
let searched_size: u32 = sizes.into_iter().filter(|&size| size <= 100_000).sum();
Ok(searched_size.to_string())
}
pub fn part2(input: &[u8]) -> Result<String> {
const TARGET: u32 = 30000000;
const TOTAL: u32 = 70000000;
const TARGET: u32 = 30_000_000;
const TOTAL: u32 = 70_000_000;
let (used, sizes) = parse_input(input, parse_program)?;

View File

@@ -53,7 +53,7 @@ impl Monkey {
// Miraculously get less worried
new_val /= 3;
drains[(new_val % self.test_mod == 0) as usize].push(new_val);
drains[usize::from(new_val % self.test_mod == 0)].push(new_val);
}
}
@@ -65,7 +65,7 @@ impl Monkey {
// Modular arithmetic is a good way to get less worried
new_val = new_val % mod_base;
drains[(new_val % self.test_mod == 0) as usize].push(new_val);
drains[usize::from(new_val % self.test_mod == 0)].push(new_val);
}
}
}

View File

@@ -108,7 +108,7 @@ fn part1_generic<const Y: i32>(input: &[u8]) -> Result<String> {
}
pub fn part1(input: &[u8]) -> Result<String> {
part1_generic::<2000000>(input)
part1_generic::<2_000_000>(input)
}
fn part2_generic<const MAX: i32>(input: &[u8]) -> Result<String> {
@@ -153,11 +153,11 @@ fn part2_generic<const MAX: i32>(input: &[u8]) -> Result<String> {
let Vec2([x, y]) = find_unseen::<MAX>(&beacons)?;
Ok((i64::from(x) * 4000000 + i64::from(y)).to_string())
Ok((i64::from(x) * 4_000_000 + i64::from(y)).to_string())
}
pub fn part2(input: &[u8]) -> Result<String> {
part2_generic::<4000000>(input)
part2_generic::<4_000_000>(input)
}
#[cfg(test)]

View File

@@ -61,7 +61,7 @@ impl From<ParsedNetwork<'_>> for SimpleNetwork {
.map(|(_, flow, connected)| {
let connected = connected.into_iter().map(|name| mapping[&name]).collect();
SimpleValve { flow, connected }
SimpleValve { connected, flow }
})
.collect(),
start: mapping[&b"AA"[..]],

View File

@@ -154,7 +154,7 @@ pub fn part2(input: &[u8]) -> Result<String> {
let mut tortoise_time = 0;
let mut last_gust = 0;
const TARGET: usize = 1000000000000;
const TARGET: usize = 1_000_000_000_000;
for (it, (shape_id, &shape)) in shapes.by_ref().enumerate() {
let mut x = 2usize;

View File

@@ -105,17 +105,13 @@ impl BluePrint {
machines,
}) = todo.pop()
{
let ideal_from_now = ideal(time_left as u32);
let ideal_from_now = ideal(u32::from(time_left));
// Need to check again because we might've gotten a better result in the meantime.
if u32::from(best - got) >= ideal_from_now {
continue;
}
if todo.len() > 1_000_000 {
panic!(
"Safety: got a todo list of len {}, best: {best}",
todo.len()
);
}
assert!(todo.len() <= 1_000_000, "Safety: got a todo list of len {}, best: {best}",
todo.len());
for (element, &costs) in self.costs.iter().enumerate() {
let Some(min_to_build) = self.until_buildable(costs, resources, machines) else { break };
@@ -161,7 +157,7 @@ impl BluePrint {
let mut new_machines = machines;
new_machines[element] += 1;
let new_missed = ideal_from_now - ideal(time_after as u32);
let new_missed = ideal_from_now - ideal(u32::from(time_after));
todo.push(State {
missed: new_missed,
got,
@@ -249,7 +245,7 @@ pub fn part1(input: &[u8]) -> Result<String> {
Ok(blueprints
.into_iter()
.map(|bp| bp.max_geodes(24) as u32 * bp.id)
.map(|bp| u32::from(bp.max_geodes(24)) * bp.id)
.sum::<u32>()
.to_string())
}
@@ -260,7 +256,7 @@ pub fn part2(input: &[u8]) -> Result<String> {
let result: u32 = blueprints
.iter()
.take(3)
.map(|bp| bp.max_geodes(32) as u32)
.map(|bp| u32::from(bp.max_geodes(32)))
.product();
Ok(result.to_string())

View File

@@ -106,7 +106,7 @@ fn shuffle(encrypted: &[i64], times: usize) -> Result<String> {
}
pub fn part2(input: &[u8]) -> Result<String> {
const ENCRYPTION_KEY: i64 = 811589153;
const ENCRYPTION_KEY: i64 = 811_589_153;
let mut encrypted = parse_input(input, parse_encrypted)?;

View File

@@ -81,13 +81,12 @@ pub fn part1(input: &[u8]) -> Result<String> {
Step::Forward(amount) => match dir {
Direction::Up => {
for _ in 0..amount {
if y == 0 || map[y - 1].get(x).map(|&b| b == b' ').unwrap_or(true) {
if y == 0 || map[y - 1].get(x).map_or(true, |&b| b == b' ') {
let new_y = map
.iter()
.rposition(|line| {
line.get(x)
.map(|&b| b == b'.' || b == b'#')
.unwrap_or(false)
.map_or(false, |&b| b == b'.' || b == b'#')
})
.unwrap();
if map[new_y][x] == b'#' {
@@ -105,14 +104,13 @@ pub fn part1(input: &[u8]) -> Result<String> {
Direction::Down => {
for _ in 0..amount {
if y + 1 >= map.len()
|| map[y + 1].get(x).map(|&b| b == b' ').unwrap_or(true)
|| map[y + 1].get(x).map_or(true, |&b| b == b' ')
{
let new_y = map
.iter()
.position(|line| {
line.get(x)
.map(|&b| b == b'.' || b == b'#')
.unwrap_or(false)
.map_or(false, |&b| b == b'.' || b == b'#')
})
.unwrap();