From 30af4cb9d1ad53ce8c2d109ed4f1b6404eec07ef Mon Sep 17 00:00:00 2001 From: Nilstrieb <48135649+Nilstrieb@users.noreply.github.com> Date: Sat, 2 Dec 2023 20:11:18 +0100 Subject: [PATCH] fixes --- 2023/day1/src/branchless.rs | 1 + 2023/day1/src/main.rs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/2023/day1/src/branchless.rs b/2023/day1/src/branchless.rs index e280e5e..b2df058 100644 --- a/2023/day1/src/branchless.rs +++ b/2023/day1/src/branchless.rs @@ -17,6 +17,7 @@ pub unsafe fn part2(input: &str) { // o n e X X X X X // in the integer bytes: // X X X X X e n o + // this out of bounds read is UB under SB, but fine under models that don't do provenance narrowing with slices. i dont care enough to fix it. let block = bytes.as_ptr().add(i).cast::().read_unaligned().to_le(); let one = (block & ((1 << (8 * 1)) - 1)) as u8; diff --git a/2023/day1/src/main.rs b/2023/day1/src/main.rs index 0f988fe..85873f9 100644 --- a/2023/day1/src/main.rs +++ b/2023/day1/src/main.rs @@ -9,7 +9,7 @@ fn main() { let mut input = std::hint::black_box(include_str!("../input.txt")).to_owned(); - input.reserve(5); + input.reserve(10); // enough to read u64 unsafe { input .as_mut_vec()