diff --git a/2020/src/common.rs b/2020/src/common.rs index b0a4518..3dee4d4 100644 --- a/2020/src/common.rs +++ b/2020/src/common.rs @@ -93,6 +93,8 @@ where T: Read, { reader: BufReader, + // Clippy doesn't understand the use case of an Rc which is immediately released + #[allow(clippy::rc_buffer)] buffer: Rc, } diff --git a/2020/src/day10.rs b/2020/src/day10.rs index 7532eb6..f7a8e4d 100644 --- a/2020/src/day10.rs +++ b/2020/src/day10.rs @@ -11,7 +11,7 @@ impl Solution for Day10 { let mut adapters: Vec = from_lines(input); // Outlet adapters.push(0); - adapters.sort(); + adapters.sort_unstable(); let device = *adapters.last().unwrap() + 3; adapters.push(device); @@ -27,7 +27,7 @@ impl Solution for Day10 { fn part2(&mut self, input: &mut dyn Read) -> String { let mut adapters: Vec = from_lines(input); adapters.push(0); - adapters.sort(); + adapters.sort_unstable(); let mut methods = vec![0u64; adapters.len()]; methods[0] = 1; diff --git a/2020/src/day14.rs b/2020/src/day14.rs index 85ab45f..ff9fc00 100644 --- a/2020/src/day14.rs +++ b/2020/src/day14.rs @@ -16,12 +16,12 @@ impl FromStr for Entry { type Err = Infallible; fn from_str(s: &str) -> Result { - if s.starts_with("mask = ") { + if let Some(s) = s.strip_prefix("mask = ") { let mut zero_mask = 0; let mut one_mask = 0; let mut x_mask = 0; - for c in s[7..].chars() { + for c in s.chars() { zero_mask <<= 1; one_mask <<= 1; x_mask <<= 1;