From 667469650504f1c6342447baaf7fda43df3a9912 Mon Sep 17 00:00:00 2001 From: Quentin Boyer Date: Thu, 5 Dec 2024 00:12:10 +0100 Subject: [PATCH] Allow to easily check the generated assembly --- flake.nix | 3 ++- src/bin/day4.rs | 2 ++ template.rs | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 3a66fe3..4ace4c3 100644 --- a/flake.nix +++ b/flake.nix @@ -22,7 +22,7 @@ inherit system; overlays = [ (import rust-overlay) ]; }; - rust = pkgs.rust-bin.stable.latest.default; + rust = pkgs.rust-bin.stable.latest.default.override { extensions = [ "rust-src" ]; }; naersk' = pkgs.callPackage naersk { cargo = rust; rustc = rust; @@ -38,6 +38,7 @@ ++ (with pkgs; [ hyperfine cargo-flamegraph + cargo-show-asm ]); RUST_PATH = "${rust}"; RUST_DOC_PATH = "${rust}/share/doc/rust/html/std/index.html"; diff --git a/src/bin/day4.rs b/src/bin/day4.rs index 9fa5852..f3ad513 100644 --- a/src/bin/day4.rs +++ b/src/bin/day4.rs @@ -43,6 +43,7 @@ fn rays<'a, T>( .map(|ray| ray.map(|(x, y)| &table[x][y])) } +#[inline(never)] pub fn part1(input: Parsed) { let expected = b"XMAS"; let mut ray_count = 0; @@ -60,6 +61,7 @@ pub fn part1(input: Parsed) { print_res!("Word count: {ray_count}"); } +#[inline(never)] pub fn part2(input: Parsed) { let mut cross_count = 0; let expected = *b"MAS"; diff --git a/template.rs b/template.rs index 8c16bbc..2db6eee 100644 --- a/template.rs +++ b/template.rs @@ -5,14 +5,17 @@ use bstr::BString; type Parsed = (); +#[inline(never)] pub fn parsing(input: &BString) -> color_eyre::Result { todo!("Parsing") } +#[inline(never)] pub fn part1(input: Parsed) { todo!("todo part1") } +#[inline(never)] pub fn part2(input: Parsed) { todo!("todo part2") }